1 unstable release

0.3.0 Aug 30, 2023

#707 in Database interfaces

Download history 55/week @ 2023-12-18 66/week @ 2023-12-25 34/week @ 2024-01-01 58/week @ 2024-01-08 27/week @ 2024-01-15 198/week @ 2024-01-22 68/week @ 2024-01-29 161/week @ 2024-02-05 54/week @ 2024-02-12 83/week @ 2024-02-19 68/week @ 2024-02-26 101/week @ 2024-03-04 63/week @ 2024-03-11 94/week @ 2024-03-18 83/week @ 2024-03-25 108/week @ 2024-04-01

359 downloads per month
Used in 8 crates (via rustpython-derive-impl)

Custom license


__doc__ for RustPython

This is the __doc__ attributes generator for objects written in RustPython.

It's composed of two parts of:

  • the generate_docs.py script that extracts the __doc__ attributes from CPython to docs.inc.rs
  • the rustpython-doc rust crate that uses the docs.inc.rs file to create a documentation Database.

This documentation database is then used by macros pymodule and pyclass macros of the rustpython-derive crate to automatically add the __doc__ attribute.

The docs.inc.rs database file can be generated with

$ python -m venv gendocs
$ source gendocs/bin/activate
$ python -I generate_docs.py <path_to_RustPython> docs.inc.rs
$ deactivate

or using docker

$ docker pull python:slim
$ docker run python:slim python --version
Python 3.10.8
$ ls
__doc__  RustPython
$ docker run -v $(pwd):/RustPython -w /RustPython/__doc__ python:slim python generate_docs.py ../RustPython docs.inc.rs

and do not forget to update cargo before the test

$ cargo update

Why the __doc__ is not changed?

Check the old documentation implemented with remarks are still exist

RustPython prioritizes the user define documentation. Check if the old remarks are remaining in the source code. If it is, simply removing them could solve the issue.


Contributions are more than welcome, and in many cases we are happy to guide contributors through PRs or on gitter. Please refer to the development guide as well for tips on developments.


This project is licensed under the MIT license. Please see the LICENSE file for more details.

The project logo is licensed under the CC-BY-4.0 license. Please see the LICENSE-logo file for more details.