Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor python code into "reprostim" library to be shipped from pypi #116

Open
4 tasks
yarikoptic opened this issue Oct 23, 2024 · 1 comment
Open
4 tasks
Assignees

Comments

@yarikoptic
Copy link
Member

yarikoptic commented Oct 23, 2024

and also packaged for Debian / NeuroDebian (@yarikoptic would do that part).

ATM we have Python libraries and scripts scattered around and without pip installable library so others could

Sample projects to use and follow in organization of the "library" and overall project

Stages

  • prepare and implement design doc (alike to the ones we are preparing elsewhere) listing on what Python packages and subpackages we would like to see, and which CLI interfaces (based on scripts we already have).
  • upload to pypi.org and verify that it installs/functions correctly, e.g. via
    d=venv-reprostim; python3 -m venv $d && source $d/bin/activate && pip install reprostim && reprostim --help
  • Add versioning : we use versioneer in many projects e.g. dandi-cli, heudiconv, but some times use @jwodder's versioningit whenever we require more tricky cases, e.g. in http://github.com/dandi/dandischema where we tag for two things (library and schema itself)
  • Automate releasing e.g. via intuit's auto (we do that in dandi, heudiconv, etc)
@jwodder
Copy link

jwodder commented Dec 11, 2024

@yarikoptic

could you please point to "optimal" setup for setup of logging so that python library is not effected.

The main thing is to only call logging.basicConfig() or similar inside the CLI's main() function; it should never be called by library code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants