Skip to content

setup.py is dead, long live pyproject.toml #156

New issue

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

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

Already on GitHub? # to your account

Merged
merged 10 commits into from
Jan 6, 2023
Merged

setup.py is dead, long live pyproject.toml #156

merged 10 commits into from
Jan 6, 2023

Conversation

drbenvincent
Copy link
Collaborator

Closes #105. This PR greatly simplifies things. We've moved to a more modern workflow where all the config stuff is contained in pyproject.toml.

So I've been able to delete:

  • setup.py
  • .isort.cfg
  • manifest.in
  • requirements.txt
  • requirements-dev.txt
  • requirements-docs.txt
  • requirements-lint.txt
  • requirements-test.txt

The requirements are now in pyproject.toml. Devs can install by running pip install causalpy[dev] for example.

Instructions to developers have been updated in CONTRIBUTING.md

Tests pass locally and remotely.

I've been through a build, upload to pypi, install process and can confirm it's pip installable in a temp local environment.

Oh, and the dev environment now uses pymc>=5.0.0 🎉

PS. When I was testing, I uploaded to pypi with version 0.0.10a, thinking that is counted as a pre-release. But I think it's the case that anyone doing pip install causalpy will already be getting this version not yet merged into main.

Remaining things

  • The only downside to the current situation is that the version number is in two places. But this may be fixable with try to get dynamic version in pyproject.toml #155. If not, it will be easy if we use some auto version bump tool. Otherwise manual is fine for the moment.
  • setup.cfg remains now because flake8 doesn't play ball with pyproject.toml. There may be something we can do about this in the future.

Copy link
Collaborator

@juanitorduz juanitorduz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

great!

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

Successfully merging this pull request may close these issues.

setup.py: fix or kill
2 participants