Skip to content

Uv install tools - #229

Merged
stephprince merged 2 commits into
pip_install_for_toolsfrom
uv-install-tools
Oct 1, 2025
Merged

Uv install tools#229
stephprince merged 2 commits into
pip_install_for_toolsfrom
uv-install-tools

Conversation

@oruebel

@oruebel oruebel commented Oct 1, 2025

Copy link
Copy Markdown
Contributor

Update #227 to use UV

@oruebel
oruebel changed the base branch from main to pip_install_for_tools October 1, 2025 20:02
@oruebel
oruebel marked this pull request as ready for review October 1, 2025 20:10
@oruebel
oruebel requested a review from stephprince October 1, 2025 20:10
@oruebel

oruebel commented Oct 1, 2025

Copy link
Copy Markdown
Contributor Author

@stephprince sorry, I didn't see #228 until just now. This PR now updates the approach from #227 to support uv. It still also supports pip by also having a pyproject.toml (instead of the setup.py). Let me know what you think

@stephprince

Copy link
Copy Markdown
Collaborator

I was thinking uv would allow us to keep it minimal without the additional pyproject.toml and aqnwb_utils.py files, but I am good either way. I agree if we want it to be pip installable we should use pyproject.toml instead of setup.py

@oruebel

oruebel commented Oct 1, 2025

Copy link
Copy Markdown
Contributor Author

Up to you if you want to keep pip or not. I just figured folks may not be familiar with uv, but these are developer tools so I think it's fine. Just let me know if I should remove the pip part

@stephprince stephprince left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Good point! Sounds good to leave both since they're already added in!

@stephprince
stephprince merged commit 2e38473 into pip_install_for_tools Oct 1, 2025
13 checks passed
@stephprince
stephprince deleted the uv-install-tools branch October 1, 2025 22:09
@oruebel oruebel mentioned this pull request Oct 1, 2025
7 tasks
stephprince pushed a commit that referenced this pull request Dec 18, 2025
* 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
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>
stephprince added a commit that referenced this pull request Dec 19, 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

* 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

* Update class generator to create the correct call to the parents initialize method and fix datatype in initialize for Datasets to use AQNWB::IO::ArrayDataSetConfig

* Enhance spec_to_func_param to optionally render the default value

* Support default values specified in the schema in generated initalize methods

* Include objects in subgroups in the initialize definition

* Fix type for typed datasets in initialilze

* Render referenced includes only if there are any

* Properly include parameters for subtypes we are referencing on initialize

* Move computing of default values to a function to make the code more robust and simplify sorting of parameters

* Define default value for optional datasets were we pass an ArrayDataSetConfig

* Add inline comments

* Update CHANGELOG

* Fix codespell error

* Simplify the code logic by factoring the compilation of parameters into the new get_initalize_method_parameters( function

* Split render_initalize_method into render_initalize_method_header and render_initalize_method_cpp

* Refactor render_initialize_method_cpp to add initalize comments code for all inputs

* Update changelog

* Fix code spelling errors

* Fix name of data values in attribute init code generation

* Fix use of varname in dataset code hints

* Fix tracking of paths and complete rendering of read/record methods

* Add suport for DEFINE_REFERENCED_REGISTERED_FIELD

* Return status in initialize call

* Add virtual destructor for autogenerated sources

* Update Changelog

* Support init of Dataset neurodata_types

* Update changelog

* Support macro for unnamed registered fields  (#231)

* Added new RegisteredType::DEFINE_UNNAMED_REGISTERED_FIELD macro

* Updated the CHANGELOG

* Update devdocs to document install option

* Support DEFINE_UNNAMED_REGISTERED_FIELD in schematype_to_aqnwb.py utility

* Fix linter and codespell errors

* Identify opitonal RegisteredTypes

* Added support for attributes/datasets with fixed values in schematype_to_aqnwb

* Unmix definition of cpp-source from generation of code blocks

* Fix errors due to errors during merge

---------

Co-authored-by: Steph Prince <40640337+stephprince@users.noreply.github.com>

---------

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