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

Create an installation group for optional deps #7

Open
wants to merge 2 commits into
base: stable
Choose a base branch
from

Conversation

kinow
Copy link

@kinow kinow commented Jul 5, 2022


name: Pull Request template
about: Describe the changes of a Pull Request you want to merge.
title: 'Create an installation group for optional deps'
labels: ''
assignees: ''


Status

READY

Description

I was following the tutorial docs but one of the first commands failed as I didn't have docker (Python module) installed. I looked at pycompss, and it looks like optional dependencies are not managed with the package manager.

Not sure if there's a reason for that, but maybe we could use the dependencies groups from setuptools? They are widely used, and also compatible with PEP 517. It allows developers to use pip install -e . or pip install -e .[docker] (to install normal deps, plus the ones required for docker), or pip install -e .[all] (at the moment just docker, but we could have deps groups that include numpy, psutil, etc, if needed).

Also python setup.py install is being discouraged now, I think. Instead calling python -m build or other modules or tools is being the recommended way — probably for a future discussion/PR, but makes it easier to integrate a project with IDE, or use other tools like pytest, mypy, etc, with less configuration.

Type of change

Please delete options that are not relevant.

  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

Project impact

List the general project components that this PR will affect:

  • New installation groups

Related PRs

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. If you haven't added any test and it is relevant provide instructions so we can reproduce.

  • I have added a new test with number:
  • I have modified a test to check this. Test number:
  • I have tested it manually in a local environment.
  • I have tested it manually in a supercomputer.

Reproduce instructions:

git checkout <feature_branch>
# maybe create a venv?
pip install -e .[docker]
pip list | grep docker

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • New and existing unit tests pass locally with my changes
  • I have run the script to add headers if new files are present (i.e. utils/scripts/header_setup/replace_all.sh)
  • I have rebased my branch before trying to merge.

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.

1 participant