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

Update docs location #311

Merged
merged 11 commits into from
Jul 31, 2023
Merged

Update docs location #311

merged 11 commits into from
Jul 31, 2023

Conversation

loriab
Copy link
Collaborator

@loriab loriab commented May 17, 2023

Description

qcel hasn't used ReadTheDocs in some time, and I guess the MolSSI qca website isn't redirecting properly to the working GH Pages docs. I get tired of digging for them, so I changed the site link on GH, and this takes care of the readme. I've also put in a PR to the qcel feedstock (we'll wait for more changes there). Back to the psi4 docs ...

Changelog description

Status

  • Code base linted
  • Ready to go

@codecov
Copy link

codecov bot commented May 17, 2023

Codecov Report

Merging #311 (a1ef75c) into master (7b04890) will increase coverage by 1.12%.
Report is 1 commits behind head on master.
The diff coverage is 79.74%.

Additional details and impacted files

Copy link
Collaborator

@Lnaden Lnaden left a comment

Choose a reason for hiding this comment

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

Huzzah! This looked like it was a pain for the dependency shenanigans.

@loriab
Copy link
Collaborator Author

loriab commented Jul 31, 2023

Yeah, scipy is an extra dimension to version resolving. Probably we had it in the conda envs but not in setup.py, so Colton didn't notice it for the poetry transition. @Lnaden

Also, since we're mostly all new to poetry, the "extras" changes come about because from what I gather from https://python-poetry.org/docs/pyproject/#extras, "extras" are for user subsets for optional add'l capabilites (like viz and align) whereas groups are for sets of development dependencies. The "extras" arg where it was before this PR was actually to pull the "viz" extra from package networkx, not assigning networkx to the qcel "viz" extra. So these changes cut down on the default deps installed (back to numpy, pint, pydantic) unless a poetry install ... --extras ... gets invoked; then py3dmol, networkx, etc. start getting installed.

Pinging @coltonbh in case I've got this all wrong. :-)

But pretty much I'll merge this, make a v0.26.0 tag (even though poetry probably doesn't use it), do the c-f feedstock, then on to qcng (which may in turn necessitate a v0.26.1 here).

@Lnaden
Copy link
Collaborator

Lnaden commented Jul 31, 2023

I think that all sounds good. I think doing this, cutting a release ASAP so we can unpin the pydantic would be extremely helpful as I am already working upstream in the QCArchive stack with this release in mind.

@loriab loriab merged commit 965a764 into master Jul 31, 2023
10 checks passed
@loriab loriab deleted the loriab-patch-1 branch July 31, 2023 18:08
@coltonbh
Copy link
Collaborator

Yeah, scipy is an extra dimension to version resolving. Probably we had it in the conda envs but not in setup.py, so Colton didn't notice it for the poetry transition. @Lnaden

Also, since we're mostly all new to poetry, the "extras" changes come about because from what I gather from https://python-poetry.org/docs/pyproject/#extras, "extras" are for user subsets for optional add'l capabilites (like viz and align) whereas groups are for sets of development dependencies. The "extras" arg where it was before this PR was actually to pull the "viz" extra from package networkx, not assigning networkx to the qcel "viz" extra. So these changes cut down on the default deps installed (back to numpy, pint, pydantic) unless a poetry install ... --extras ... gets invoked; then py3dmol, networkx, etc. start getting installed.

Pinging @coltonbh in case I've got this all wrong. :-)

But pretty much I'll merge this, make a v0.26.0 tag (even though poetry probably doesn't use it), do the c-f feedstock, then on to qcng (which may in turn necessitate a v0.26.1 here).

Yes, @loriab is correct. Extras are for end user extras--usually augmented features of your package that you don't want to install by default, often because they are heavy-weight or only used for special cases, but want to make available to end users. You can install them with the usual pip extras syntax: pip install qcelemental[viz,whatever]. On some systems you need to put a '' around the packages depending on the terminal, e.g., pip install 'qcelemental[viz,whatever]'.

You'd never want end users to install your developer dependencies--pytest, isort, etc.--and these are placed in the dev group of dependencies. If you have a complex package you can create additional dependency groups for various development environments.

To summarize:

  1. All end user dependencies go under [tool.poetry.dependencies]. End user extras are listed as such with the extras tag and will be installable by end users from pypi (or source) with the pip install mypkg[extra1,extra2] syntax.
  2. Groups are for development purposes and cannot be accessed by end users from pypi or source using standard pip install syntax. They allow for more complex development environment setup. For our use case, having all dev dependencies in a single group is fine.

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

3 participants