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

Documentation for PyProject.toml #195

Open
rgrizzell opened this issue Nov 19, 2023 · 4 comments
Open

Documentation for PyProject.toml #195

rgrizzell opened this issue Nov 19, 2023 · 4 comments

Comments

@rgrizzell
Copy link

I'm working on creating some CircuitPython libraries, so I was very happy to see #188 get merged in. However, documentation around this new feature is missing and others may not be aware of it's recent inclusion.

@FoamyGuy
Copy link
Contributor

Agree'd, some documentation around this would be great! I was primarily focused on the functionality.

@rgrizzell are you interested / willing to submit a PR that adds information to the README about the new pyproject.toml dependency functionality?

@rgrizzell
Copy link
Author

@FoamyGuy I can handle that. I just need to get fully up to speed on the PyProject format and how that ties in with library development. This is my first introduction to both, so once I get that working I'll share my notes in this issue. If everything looks good, I'll create the PR.

@rgrizzell
Copy link
Author

rgrizzell commented Jan 9, 2024

@FoamyGuy Can you provide me a basic how-to? I seem to be misunderstanding something basic and I can't seem to get this feature to work. None of the changes made to pyproject.toml seem to be picked up by Circup.

[circup]
circup_dependencies = ["adafruit_display_text"]
$ circup install -a
Found device at /media/rgrizzell/CIRCUITPY, running CircuitPython 9.0.0-alpha.2-105-gbbff8b5638-dirty.
Searching for dependencies for: []

This isn't necessarily an issue with Circup, I'm just confused.

@rgrizzell rgrizzell closed this as not planned Won't fix, can't repro, duplicate, stale Feb 7, 2024
@FoamyGuy
Copy link
Contributor

FoamyGuy commented Feb 7, 2024

I'm going to re-open this because I still think it would be great to have documentation for this.

@rgrizzell sorry, I missed your previous message. If you're still interested in this:

Where is the pyproject.toml file that you edited?

In order for this functionality to work the section must be in pyproject.toml file of a library that is inside of a bundle, and the latest released version of that library must have these items in the pyproject.toml file.

Then when circup installs that library it will read its toml file and install any dependencies listed there.

As an example the Cedargrove Chime library contains the dependency list in it's pyproject.toml section here: https://github.com/CedarGroveStudios/CircuitPython_Chime/blob/main/pyproject.toml#L49-L50

and therefore when circup installs that library it picks up its dependency also:

❯ circup install cedargrove_chime
Found device at /media/timc/CIRCUITPY, running CircuitPython 9.0.0-beta.0.
Searching for dependencies for: ['cedargrove_chime']
Ready to install: ['cedargrove_chime', 'cedargrove_midi_tools']

Installed 'cedargrove_chime'.
Installed 'cedargrove_midi_tools'.

@FoamyGuy FoamyGuy reopened this Feb 7, 2024
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

No branches or pull requests

2 participants