Skip to content

Pip install for tools - #227

Merged
stephprince merged 15 commits into
create_app_in_scriptfrom
pip_install_for_tools
Dec 18, 2025
Merged

Pip install for tools#227
stephprince merged 15 commits into
create_app_in_scriptfrom
pip_install_for_tools

Conversation

@oruebel

@oruebel oruebel commented Sep 30, 2025

Copy link
Copy Markdown
Contributor
  • Added pyproject.toml for python utils to make them pip installable
  • Add uv header to the python scripts to make them usable via uv
  • Added new aqnwb_utils.py utility to provide a single command-line utility for aqnwb
  • Updated the developer docs to clarify usage of the python utilities
  • Updated the github workflows to use pip to install the command line utilities
  • Updated schematype_to_aqnwb.py to create a more robust CMake file for the example app, because locating aqnwb relative to the script location doesn't work if the utilities are installed somewhere else using pip.
  • Updated the changelog

@oruebel
oruebel marked this pull request as ready for review September 30, 2025 08:21
@oruebel
oruebel requested a review from stephprince September 30, 2025 08:21
@oruebel

oruebel commented Sep 30, 2025

Copy link
Copy Markdown
Contributor Author

@stephprince this PR is now ready for review

@stephprince

stephprince commented Sep 30, 2025

Copy link
Copy Markdown
Collaborator

I am wondering if this would be a good application of using uv to declare script dependencies and make the python file executable. That way we could avoid creating an additional python package files and these scripts would be relatively self-contained.

I think the main tradeoff would be if we do plan to add several python utilities then it would be good to use more traditional packaging methods

@oruebel

oruebel commented Sep 30, 2025

Copy link
Copy Markdown
Contributor Author

I am wondering if this would be a good application of using uv to declare script dependencies and make the python file executable.

Sure, let's chat about this option. I have not used uv much yet. I don't have particularly strong feelings either way. I don't think we really need to release these tools as separate packages, i.e., I think they should be easy to use for developers from the repo.

@oruebel oruebel mentioned this pull request Oct 1, 2025
oruebel and others added 3 commits October 1, 2025 15:09
* Update to use uv for python tools

* Update changelog
…README.md the source of truth to avoid duplication
@oruebel

oruebel commented Oct 1, 2025

Copy link
Copy Markdown
Contributor Author

@stephprince thanks for merging #229 with this PR. I've made a few more updates here to make sure the docs are consistently using uv for the python utilities and to avoid duplication between resources/utils/README.md and the doxygen docs. This PR is now ready for review.

@stephprince
stephprince merged commit 66bf179 into create_app_in_script Dec 18, 2025
13 checks passed
@stephprince
stephprince deleted the pip_install_for_tools branch December 18, 2025 19:15
stephprince added a commit that referenced this pull request Dec 18, 2025
* Use pathlib in schematype_to_aqnwb.py

* Update schematype_to_aqnwb to generate subfolder structure for outputs

* Update the changelog

* Update docs to described the new changes

* Minor doc fixes

* Update schematype_to_aqnwb to create an example app to test the build

* Fix namespace use in generated cpp file

* Fix namespace for included neurodata_types

* Fix indent in string

* Add workflow to test compiling the generated hpp/cpp files

* Fix linter error

* Update workflow name

* Fix path in workflow

* Debug workflow

* Fix call in the workflow

* Set AQNWB dir for build

* Add back output capture

* Update workflow

* Add includes for all references types

* Test workflow to test generating classes for the nwb-schema

* Some cleanup for the test workflow

* Break out running the test program in its own step

* Remove TODO for DEFINE_REGISTERED_FIELD now that the includes are being added correctly

* Add helper function to create cpp namespace name

* Minor fix to heading in the workflow

* Fix source filepath determination

* Updated the changelog

* Fix changelog

* Update CHANGELOG.md

* Pip install for tools (#227)

* Add common Python ignores to .gitignore

* Make the python utilities pip installable and add aqnwb-utils comman line utility

* Update CHANGELOG

* Fix argument parsing for command line utilities

* Fix argument parsing for command line utilities

* Add github workflow to debug issue

* Fix setup for command utils

* Removed debug workflow

* Update example app generation to work with installed command line utilities

* Update example app generation to work with installed command line utilities

* Path HDF5 and BOOST install paths

* Add missing includes for HDF5 and BOOST

* Uv install tools (#229)

* Update to use uv for python tools

* Update changelog

* Update docs to use uv for the python utilities throughout

* Simplify docs for the python utilities by making the resources/utils/README.md the source of truth to avoid duplication

---------

Co-authored-by: Steph Prince <40640337+stephprince@users.noreply.github.com>
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.

2 participants