Skip to main content

AI-supported system design framework optimized for usability.

Project description

LinguStruct

LinguStruct is a structured system design framework optimized for usability. It provides templates for system design documents, making it easy for users to develop, document, and manage systems efficiently.


Installation

Ensure you have Python 3.6 or higher installed. Clone the repository and install the package:

git clone https://github.com/lilseedabe/lingustruct.git
cd lingustruct
pip install -e .

Usage

1. Setting up Configuration

Create a .env file in the root directory to store your encryption key, license, and other sensitive information. Here is an example:

# .env file example
LINGUSTRUCT_LICENSE_KEY=your-license-key

2. Running the Framework

Below is an example of how to use the LinguStruct framework:

from lingustruct import LinguStruct, Validator

# Initialize components
lingu_struct = LinguStruct()
validator = Validator()

# Example: Generate a master JSON template
replacements = {"PROJECT_ID": "123", "VERSION": "1.0"}
lingu_struct.generate_master_json(replacements)

# Example: Validate a module using a schema
module_data = {
    "project_id": "123",
    "v": "1.3",
    "meta": {"t_v": "1.0", "p_n": "Project Name", "desc": "Sample project", "scale": "m"}
}
is_valid, message = validator.validate(module_data)
print(f"Validation Result: {message}")

Abbreviation Reference

Below are the abbreviations used within the LinguStruct framework to keep templates concise and manageable:

Abbreviation Meaning Description
t_v Template Version The version of the template being used
p_n Project Name The name of the project
p_v Project Version The version of the project
desc Description A brief description of the project
scale Scale The scale of the project (e.g., small, medium)
st Style The design style
c_n Component Name The name of the component
c_t Component Type The type of the component
c_dep Component Dependencies Dependencies of the component
dep_res Dependency Resolution How dependencies are resolved
err_handling Error Handling The error handling approach
prio Priority The priority level
map Mappings Key-value mappings
l Languages Programming languages used
ar Architecture System architecture overview
svc Service Services or modules

Configuration

Ensure your .env file is properly configured as follows:

# Example .env file
LINGUSTRUCT_LICENSE_KEY=your-license-key
LINGUSTRUCT_ENCRYPTION_KEY=your-32-byte-encryption-key

License

This package is provided for personal and academic use only.
Commercial use requires a license agreement. Contact us at osusume-co@lilseed.jp for licensing inquiries.

Terms of Use:

  1. Non-Commercial Use Only: This software is intended for personal or academic purposes.
  2. Commercial License Required: Contact osusume-co@lilseed.jp for commercial use.
  3. Redistribution Prohibited: Public redistribution is not allowed.
  4. No Warranty: The authors are not responsible for damages resulting from the use of this software.

Contributing

To contribute:

  1. Fork the repository.
  2. Create a new branch for your feature or fix.
  3. Commit your changes and push them.
  4. Submit a pull request.

Disclaimer

The authors are not responsible for any misuse or unintended consequences of using this framework. Users must adhere to applicable laws and regulations.


Issues & Support

Report issues on the GitHub Issues page.


Changelog

  • v0.2.4: Removed AI support and enhanced template handling.

Authors

Developed by Yasunori Abe. For inquiries, contact osusume-co@lilseed.jp.

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

lingustruct-0.2.6.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lingustruct-0.2.6-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file lingustruct-0.2.6.tar.gz.

File metadata

  • Download URL: lingustruct-0.2.6.tar.gz
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for lingustruct-0.2.6.tar.gz
Algorithm Hash digest
SHA256 14dec4b653199e85d605cfdda0def4e6ff66bbba7082a0819fd9fbfdb9320b33
MD5 30b2ed4165bcd5d6c4ccb980958080dd
BLAKE2b-256 8e0b6fc936108be6473944f5f8c21e75fe0e18422bf0ed733d757ad4bf36216f

See more details on using hashes here.

File details

Details for the file lingustruct-0.2.6-py3-none-any.whl.

File metadata

  • Download URL: lingustruct-0.2.6-py3-none-any.whl
  • Upload date:
  • Size: 15.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for lingustruct-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 7bc967343bf6eab79d1e33eb789815e2a92adbcfc43187d0c93d271ee40998a8
MD5 af336d2bffd15b91d0ff457496e51da2
BLAKE2b-256 baf318ca4f07fa0e59bc566bfd0fc7a7cdf0c0b416d0ff1308811df1f7efeb14

See more details on using hashes here.

Supported by

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