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:
-
Import the library:
from masonite_ide_helper import IdeHelper
-
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. -
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e2718b4fb4e76fae0882855b7f02c9ed0829e3f2d88f9318d79149cd10ae830 |
|
MD5 | ac7f7d4af3ffa180254b8810efc9fe60 |
|
BLAKE2b-256 | dac3f7dedd81b288c6eab05ee2fde0c66ad5b841e8024aed8a41b8238390289b |
File details
Details for the file masonite_ide_helper-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: masonite_ide_helper-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd61679da3a963f1b3b3d6398a1c7ff9db922d966e3908df26b5970751bb8ba5 |
|
MD5 | d387039af3454e0e7ecac239cc10ca46 |
|
BLAKE2b-256 | 31de3a8151a78ba01a851b347b7494227866c058d8d06a818ad77b23048b6bfe |