Home Applications PyObjectscript Gen

PyObjectscript Gen

InterSystems does not provide technical support for this project. Please contact its developer for the technical assistance.
0
0 reviews
0
Awards
5
Views
0
IPM installs
0
0
Details
Releases (1)
Reviews
Issues
Objectscript class code generation library for Python

What's new in this version

Initial Release

PyObjectscript Gen

Objectscript class code generation library for Python


Features

  • Objectscript class code generation
  • Clean and simple to use interface in python
  • Extensible classes for custom usage

Installation

You can install the package using pip (COMING SOON):

pip install pyobjectscript_gen

Or from source:

git clone https://github.com/Antoine-dh/pyobjectscript_gen.git
pip install .

Usage

Here’s a basic example of how to use the library:

from pyobjectscript_gen import *

cls = Class(
name="Demo.MyExample.MyClass",
extends=["%RegisteredObject"]
)

example of declaratively creating properties

cls.components = [
Property(
name="Property1",
type="%String",
),
Property(
name="Property2",
type="%Numeric",
),
]

example of iteratively creating a method

method = Method("MyMethod")
method.return_type = "%String"
method.impl = [
"set returnvalue=..Property1_..Property2",
"quit returnvalue"
]

append method to class components

cls.components.append(method)

generate on sys.stdout

cls.generate()

See the generated class in examples/generated/basic.cls


Requirements

  • Python 3.9+
  • Jinja2

Documentation

You can find the full documentation at: Read the docs coming soon…

All the documentation can be found in code with python docstrings in src/pyobjectscript_gen/cls.py


Running Examples

Features

All examples code can be found in examples/ and their respective output classes in examples/generated/

# Basic class example with 2 properties and a method
python3 -m examples.basic > basic.cls

Test class for every features capable to be generated by the library

python3 -m examples.features > features.cls

Real life example of multiple classes generation using custom subclasses of the library's components

Generates a simple REST example with a business operation, request and response classes in the specified directory

mkdir output/
python3 -m examples.rest ./output/

More examples to come…


Contributing

Contributions are welcome!

To get started:

git clone https://github.com/Antoine-dh/pyobjectscript_gen.git
python -m venv .venv
source .venv/bin/activate  # On Windows, use .venv\bin\activate.bat
pip install -r requirements.txt

Known Issues

  • Templates are not properly embedded in the python package and not resolved dynamically, python scripts must be run from the root directory of this project

License

This project is licensed under the GNU General Public License.

Version
1.0.026 Jul, 2025
Ideas portal
https://
Category
Developer Environment
Works with
InterSystems IRISEnsemble
First published
26 Jul, 2025
Last edited
26 Jul, 2025