Skip to main content

Automatically generate documentation for Python projects

Project description


Logo

Automatically generate documentation for Python projects
Explore the docs »

Getting Started · Usage · License

About the Project

ScanDocs creates documentation for Python projects automatically, by harnessing the power of SvelteKit, and Python's dynamic nature. By using signature analysis of your modules, classes, and subroutines, and a little help from your docstrings, ScanDocs is able to generate comprehensive and flexible documentation, with customizable themes, easily adaptable content, and comprehensive searching functionality.

If you're familiar with SvelteKit, you can then adjust the website layout however you think best fits your project, and edit website content easily from the generated JSON tree. Themes can also be easily changed by using Skeleton UI's theme generator.

Getting Started

ScanDocs is available on PyPI. To use it in your project, run:

pip install ScanDocs

To install specific previous versions, take a look at the version history, locate the version tag (vX.Y.Z), and run:

pip install ScanDocs==X.Y.Z

Basic Usage

Initial Documentation

ScanDocs requires very little configuration. Without any fancy tricks and adjustments, you can generate perfectly suitable documentation!
To start generating documentation, first import the correct modules:

from scandocs import Package, Documentation
from pathlib import Path
import <your_project>  # The one you want to document

Tell ScanDocs what to call your project, and where it should be saved:

WEBSITE_PATH = Path("./docs")  # Or wherever you want your website files to be saved
PROJECT_NAME = "YOUR_PROJECT_NAME"  # The name of your project

Then, scan your project, so ScanDocs knows what you've built:

project = Package.from_module(<your_project>)

Next, configure the documentation:

docs = Documentation(project, WEBSITE_PATH, Configuration(PROJECT_NAME))  # Set the path to be wherever you want the website files to be saved

You can now build the website files:

docs.output()

In your targetted directory, run the following command to see your website in developer mode:

npm run dev

You now have a full website built with SvelteKit and Skeleton UI. Look at the documentation of these tools to see what to do next!

You can configure your website further, by importing Themes:

from scandocs import Package, Documentation, Configuration, Themes
from pathlib import Path
import <your_project>  # The one you want to document


WEBSITE_PATH = Path("./docs")  # Or wherever you want your website files to be saved
PROJECT_NAME = "YOUR_PROJECT_NAME"  # The name of your project


project = Package.from_module(<your_project>)
docs = Documentation(project, WEBSITE_PATH, Configuration(PROJECT_NAME, theme=Themes.GOLD_NOUVEAU))  # Or any other available theme you want
docs.output()

You can now generate comprehensive documentation, with any theme you want, for all of your Python projects!

License

Distributed under the GNU General Public License v3.0 License. See LICENSE for further details.

(Back to Top)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ScanDocs-0.1.3.tar.gz (77.2 kB view details)

Uploaded Source

Built Distribution

ScanDocs-0.1.3-py3-none-any.whl (88.9 kB view details)

Uploaded Python 3

File details

Details for the file ScanDocs-0.1.3.tar.gz.

File metadata

  • Download URL: ScanDocs-0.1.3.tar.gz
  • Upload date:
  • Size: 77.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.4

File hashes

Hashes for ScanDocs-0.1.3.tar.gz
Algorithm Hash digest
SHA256 7d6e2862a23af1fadbdadb90659e876e8382d8812932ae100a952ff8730d3247
MD5 b4ab51898f9375fd8e650032caaeb660
BLAKE2b-256 dc736b51cabca63a4975b172ccf2b353287ab422542800a2fc05a954c66bc1aa

See more details on using hashes here.

File details

Details for the file ScanDocs-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: ScanDocs-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 88.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.4

File hashes

Hashes for ScanDocs-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ae02473c071302793ef9d01acd398f1e5a007a0b4efa7c3668506e520e1fdfbf
MD5 7c5109a0d556bab9fa95fabaae3a2efc
BLAKE2b-256 cadae4dc974d7a2e8e595d5ed61378d1edfe35c47e521b3c03b9a34d04822ed9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page