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

Dependency management #146

Closed
v-goncharenko opened this issue Mar 7, 2021 · 4 comments · Fixed by #150
Closed

Dependency management #146

v-goncharenko opened this issue Mar 7, 2021 · 4 comments · Fixed by #150
Assignees

Comments

@v-goncharenko
Copy link
Collaborator

@ErikBjare I saw you use poetry on your ActivityWatch project, and I use it in my projects too.

What do you think about incorporating this tool here to have a crossplatform dependencies and easy packaging?

If you and @sylvchev think it's a good idea, I could do a PR for that.

@ErikBjare
Copy link
Collaborator

ErikBjare commented Mar 7, 2021

I really like poetry, but if there are no issues with the current setup I don't really see the point?

I did a similar PR in NeuroTechX/EEG-ExPy#22, but it was ultimately not merged (for now). The important thing imo is that @sylvchev and other maintainers are productive in whatever tools are used, which is why we decided against merging my PR in eeg-notebooks, for now.

@sylvchev
Copy link
Member

sylvchev commented Mar 8, 2021

Poetry seems like a really nice tool. We could discuss about it during weekly meeting (Thursday 6:30 PM GMT+1, https://meet.jit.si/NeuroTechX-Hacknight) or in this issue.
What are the poetry drawback, if any? Is their any incompatibility with other package maintenance tool?

@ErikBjare
Copy link
Collaborator

@sylvchev I honestly don't know of any real drawbacks (except some bugs I've found: python-poetry/poetry#2275), there are things like:

  • One more tool in the toolchain
  • Introduces a lockfile, which is an improvement but adds slight complexity to how dependencies are managed

It works pretty well with pip etc, since it follows standards like PEP 517 and PEP 518 it should be compatible with everything that pip is compatible with. (A good intro: https://grassfedcode.medium.com/pep-517-and-518-in-plain-english-47208ca8b7a6)

I'm personally very happy with poetry. I used to hate packaging in Python, but then came pipenv, and then came poetry, and now I'm pretty happy with it.

@v-goncharenko v-goncharenko self-assigned this Mar 11, 2021
@v-goncharenko v-goncharenko linked a pull request Mar 12, 2021 that will close this issue
@sylvchev
Copy link
Member

Ok, I think this could really help.
As discussed during the office hours, we will need to decide how we will increment version number, complying with semantic versioning.

I think this is really important to promote and facilitate the reproducibility of the results. Poetry, with the automatic handling of package versioning for the different target platform, is a step towards this goal. Also, the fact that we could easily push pypi version is important to simplify the installation process.

Let's use poetry for MOABB!

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

Successfully merging a pull request may close this issue.

3 participants