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

Clean up requirements and verify direct project dependencies #37

Open
birdcar opened this issue May 16, 2021 · 2 comments · May be fixed by #38
Open

Clean up requirements and verify direct project dependencies #37

birdcar opened this issue May 16, 2021 · 2 comments · May be fixed by #38

Comments

@birdcar
Copy link
Collaborator

birdcar commented May 16, 2021

The current way we're managing dependencies in our requirements.txt file is creating some issues since it requires all contributors to have a production environment ready locally before they can get started.

For example, we currently use SQLite in development and Postgres in production, but because psycopg2 is in our requirements.txt file new contributors are discovering that they need to have Postgres installed before they can continue forward (see #22 as an example of this).

This creates an unnecessary barrier to entry and makes the contribution process more difficult than it needs to be.

I propose we begin to fix this by:

  • Verifying the specific packages the application directly depends on
  • Breaking up the current requirements.txt into base, production, and potentially dev specific requirements files (which will help simplify getting a dev environment set up for new contributors).
  • Ensuring that we're only declaring our project's direct dependencies and allowing pip to handle dependency resolution for sub-dependencies
@birdcar
Copy link
Collaborator Author

birdcar commented May 16, 2021

I'm working on this as we speak and will be opening a PR to resolve this issue shortly.

birdcar added a commit to birdcar/python-in-edu that referenced this issue May 16, 2021
Our previous approach to dependencies was creating a high barrier to
entry for new contributors (and new Pythonistas/Djangonauts) since
it required them to have a production environment installed locally
just to install the requirements files.

This change moves production-specific dependencies to a separate
module, simplifies local setup, and opens the possiblity of having
development specific dependencies in the future.

closes psf#37
birdcar added a commit to birdcar/python-in-edu that referenced this issue May 16, 2021
Now that the requirements files are split up in psf#37 and the local dev
environment has been simplified, we can now add a detailed and welcoming
contribution guide.

This absorbs the install instructions from the README and expounds on
the install and local development process so as to enable new developers
to contribute to the project easly.

There were no guidelines in the README as far as commit hygene or other
contribution guidelines, but it wouldn't be difficult to add later.

fixes: psf#19, psf#26, psf#27
relies on: psf#37
@birdcar birdcar added this to In Progress in Application Refactor May 19, 2021
@Mr-Sunglasses
Copy link

Can be fixed by #55 #58

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

Successfully merging a pull request may close this issue.

2 participants