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

Simplifying the BrainGlobe (meta-)package structure for users and developers #20

Closed
5 tasks done
alessandrofelder opened this issue Jun 6, 2023 · 3 comments
Closed
5 tasks done
Assignees

Comments

@alessandrofelder
Copy link
Member

alessandrofelder commented Jun 6, 2023

Currently, the BrainGlobe tools are split into 35 different repositories (not all of which are to be used by users directly), which

  • makes searching for what package to install hard for users
  • makes CI and testing for interdependent packages hard

We'd like to address this by

This has the additional advantage that we can hide changes in the repo structure from users. So once this is done, we'd like to

in order to make CI and testing between closely related repos easier.

Possibly useful resources around Python Packaging

@alessandrofelder
Copy link
Member Author

@adamltyson the above is initial draft for a meta-issue for @willGraham01 to work on once he joins. Comments welcome.

@adamltyson
Copy link
Member

All looks good. We have the brainglobe name on PyPI. This package was eventually renamed bg-atlasapi.

do the equivalent for pypi (if possible?)

I think it's possible, even it it's just:

  • A pyproject.toml file that has all the other packages as requirements
  • An empty __init__

This would also allow us to do things like:
init.py

from cellfinder_core.main import main as cell_detector_3D
from brainreg.main import main as register_whole_brain

Usage

import brainglobe as bg

bg.cell_detector_3D()
bg.register_whole_brain()

Then in later versions, we can completely restructure the underlying packages.

@adamltyson
Copy link
Member

Superceeded by #33

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

No branches or pull requests

3 participants