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

[0.1.dev18] Installation improvements and continuous integration #55

Merged
merged 20 commits into from
Nov 19, 2018

Conversation

smmaurer
Copy link
Member

@smmaurer smmaurer commented Nov 6, 2018

This PR improves installation and testing.

  1. Moves requirements out of setup.py and into their own file(s). This allows a single list of requirements to be used for pip environments, conda environments, and in the setup script.

  2. Divides dependencies into (a) minimal requirements for model management and core templates, (b) additional requirements for less-used templates, and (c) requirements for development and testing. This is a common design pattern (e.g. pandas uses it) to avoid dependency bloat, keeping installation as fast and reliable as possible.

  3. But this means we need to help out users who might be missing dependencies for certain template functionality. Following pandas, I've moved the relevant import statements inside try-catch blocks that raise clear errors telling users what's going on and how to resolve it.

    (We can use the same strategy for imports that often have version compatibility problems, like the choicemodels development releases that are currently required by the Large MNL template.)

  4. Adds a Travis script to automatically run the test suite across python versions when commits are pushed to Github.

  5. Incidentally, it seems like the templates work fine in Python 2.7 -- i hadn't tested this until putting together the Travis builds.

  6. Updates the README. More substantial documentation improvements coming separately.

Versioning

Updates the library version to 0.1.dev18

Before merging:

  • fix import statements for pylogit
  • review other dependencies
  • update version
  • coveralls messages for the PR thread

@smmaurer smmaurer changed the title Setup and continuous integration Installation improvements and continuous integration Nov 7, 2018
@smmaurer smmaurer mentioned this pull request Nov 7, 2018
@smmaurer smmaurer changed the title Installation improvements and continuous integration [0.1.dev17] Installation improvements and continuous integration Nov 9, 2018
@smmaurer smmaurer changed the title [0.1.dev17] Installation improvements and continuous integration [0.1.dev18] Installation improvements and continuous integration Nov 19, 2018
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

Successfully merging this pull request may close these issues.

None yet

1 participant