Description
The current documentation and testing configurations in Python SDK have a number of problems:
- README file doesn't offer a reliable and easy to follow guide for development workflow. We are presented with a list of commands that get some of the jobs done, some of them with side effects. More on that in next items.
- Using
uv run without --no-sync is performing implicit syncing that overwrites the installation made by maturin develop, reverting the newest changes that were just introduced by installing the package via maturin develop.
- Command to generate stubs is not documented.
- Formatting commands required for the hooks to let your commits and pushes through specifically for Python code are not documented.
- Docker compose and the Dockerfile seem to not have been updated in a while. Iggy server build is failing without seccomp:unconfined option, the overall compose command is failing due to problems with connectivity between containers, how this connectivity is established or checked (I'm still in the process of figuring all the root issues out here).
- Dockerfile can be improved by adding caching and other changes.
- Any other fixes for the development features that Python SDK is providing but which actually don't work out of the box.
In general, this set of changes is intended to make sure that a developer can follow the instructions which cover all necessary steps and all of which work as intended and serve a clear purpose.
Affected area / component
Python SDK
Proposed solution
I have already implemented almost all of these locally and the list may grow further as I discover the algorithm that gets a developer through the whole development process without issues.
Alternatives considered
No response
Contribution
Good first issue
Description
The current documentation and testing configurations in Python SDK have a number of problems:
uv runwithout--no-syncis performing implicit syncing that overwrites the installation made bymaturin develop, reverting the newest changes that were just introduced by installing the package viamaturin develop.In general, this set of changes is intended to make sure that a developer can follow the instructions which cover all necessary steps and all of which work as intended and serve a clear purpose.
Affected area / component
Python SDK
Proposed solution
--no-syncto someuv runcommands to get rid of undesired side effects.ruffformatting commands that are required by hooks.--lockedoption for theuv syncso that specifically the container build could trigger a developer to intentionally update the lock file. (The latter is subject to change in the process of developing the workflow).test_tls.pyintroduces -- to be updatedI have already implemented almost all of these locally and the list may grow further as I discover the algorithm that gets a developer through the whole development process without issues.
Alternatives considered
No response
Contribution
Good first issue