Skip to main content

A utility for generating Python type hinting stub files for Masonite ORM models.

Project description

Masonite IDE Helper

Masonite IDE Helper is a utility for generating Python type hinting stub files (.pyi) for Masonite ORM models. It automates the process of extracting relevant information such as class names, properties, and methods with their return types from model files.

Installation

You can install the Masonite IDE Helper via pip:

pip install masonite-ide-helper

Usage

To use the Masonite IDE Helper, follow these steps:

  1. Import the library:

    from masonite_ide_helper import IdeHelper
    
  2. Instantiate the IdeHelper class:

    ide_helper = IdeHelper(models_dir="path/to/models")
    

    If the models_dir parameter is not provided, it defaults to the "application/models" directory.

  3. Call the make_pyi_files method:

    ide_helper.make_pyi_files()
    

    This will generate .pyi files for the models located in the specified directory.

Example

from masonite_ide_helper import IdeHelper

# Instantiate IdeHelper with optional models directory parameter
ide_helper = IdeHelper(models_dir="path/to/models")

# Generate .pyi files for the models
ide_helper.make_pyi_files()

Documentation

IdeHelper class

__init__(self, models_dir: str | None = None)

Initializes an instance of IdeHelper.

  • models_dir (str | None): The directory path containing the model files. If not provided, defaults to the "application/models" directory.

make_pyi_files(self)

Generates Python type hinting stub files (.pyi) for the models located in the specified directory.

get_models(self)

Retrieves the list of model files from the specified directory and extracts relevant information such as class name, module path, properties, and methods with their return types.

Notes

  • This library assumes a standard Masonite project structure where models reside in the "application/models" directory. If your project structure differs, you may need to adjust the models_dir parameter accordingly.
  • If any error occurs during the generation of stubs for a model, the error message will be printed, and the process will continue for other models.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contribution

Contributions are welcome! If you find any issues or want to improve the library, feel free to open a pull request or create an issue in the repository.

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

masonite-ide-helper-0.1.0.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

masonite_ide_helper-0.1.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file masonite-ide-helper-0.1.0.tar.gz.

File metadata

  • Download URL: masonite-ide-helper-0.1.0.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.4

File hashes

Hashes for masonite-ide-helper-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8e2718b4fb4e76fae0882855b7f02c9ed0829e3f2d88f9318d79149cd10ae830
MD5 ac7f7d4af3ffa180254b8810efc9fe60
BLAKE2b-256 dac3f7dedd81b288c6eab05ee2fde0c66ad5b841e8024aed8a41b8238390289b

See more details on using hashes here.

File details

Details for the file masonite_ide_helper-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for masonite_ide_helper-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dd61679da3a963f1b3b3d6398a1c7ff9db922d966e3908df26b5970751bb8ba5
MD5 d387039af3454e0e7ecac239cc10ca46
BLAKE2b-256 31de3a8151a78ba01a851b347b7494227866c058d8d06a818ad77b23048b6bfe

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