invenio-typing-stubs
This is a package that provides typing support for the InvenioRDM source base. It is intended as a temporary solution until InvenioRDM itself provides typing support.
As such, it is a collection of type stubs for the InvenioRDM source base, as well as some utility functions to help with typing.
It must not contain any runtime code, it is intended to be used only for type checking.
Warning
These stubs were generated mostly automatically and only some have been manually checked. They will surely contain some errors. Please report any issues you find.
Usage
Please install the package directly from github:
pip install git+https://github.com/oarepo/invenio-typing-stubs.git
If you add the dependency to your pyproject.toml built with hatchling, do it like:
[project.optional-dependencies]
dev = [
"invenio-typing-stubs @ git+https://github.com/oarepo/invenio-typing-stubs.git",
]
How it was generated
Automatic generation
Copilot with GPT-5 was used to generate the stubs. The following prompt was used:
There is a agent_helper command that will give you work. Please call the command as
`.venv/bin/python agent_helper.py invenio_communities`.
The output of the command are the instructions that you should do.
Read them carefully and execute them.
After that, continue calling the agent and processing the instructions
until it will tell you that all work has been done.
Manual checks
Some manual checks were done to ensure the stubs are correct. Systemfields were patched manually to ensure correct typing.
Problems
Typing for SQL Alchemy mostly does not work with invenio_db.
Final checks
Checked with
mypy --check-untyped-defs --ignore-missing-imports invenio_records_resources-stubs/
Metadata
Release files for oarepo-invenio-typing-stubs 0.1.37
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| oarepo_invenio_typing_stubs-0.1.37.tar.gz | 165.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| oarepo_invenio_typing_stubs-0.1.37-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 595.8 kB
Release files / oarepo_invenio_typing_stubs-0.1.37.tar.gz
| Download URL | oarepo_invenio_typing_stubs-0.1.37.tar.gz |
|---|---|
| Size | 165.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3e214da995415ccd90be0b93ce5dac62a1b50741d0fe0af033897eb007a24454
|
|
BLAKE2b-256 checksum How to use checksums |
b3edfd2268f9d8c13d11fb97878d8a2676688cd1fb3ae0f7c23bbad08c715705
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / oarepo_invenio_typing_stubs-0.1.37-py3-none-any.whl
| Download URL | oarepo_invenio_typing_stubs-0.1.37-py3-none-any.whl |
|---|---|
| Size | 430.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a609c3979d2375d3e0bdbb110b53ef89f006a3b6662cf3ef6c37a27d35acc905
|
|
BLAKE2b-256 checksum How to use checksums |
b28e62f7be66694b51879fede08f06853728293acd50e638f9ce3cedefc275bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|