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.7.tar.gz (12.3 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.7-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lingustruct-0.2.7.tar.gz
  • Upload date:
  • Size: 12.3 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.7.tar.gz
Algorithm Hash digest
SHA256 c87803d1a485de87f7a1eb4f6e857e281a65c520899bbab0a1ed2541899619bb
MD5 8b5a92569d948d62cf47435a1b45aeab
BLAKE2b-256 9062e777714562649e5e0a0a2ac088f51397f69ce0a844df1f27a97755a4a987

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lingustruct-0.2.7-py3-none-any.whl
  • Upload date:
  • Size: 15.4 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 11896aab9b761f466b4472df6407d9aa1dba76237bdc7a04a4954199626c64db
MD5 025f919e8b4564d8a9edebbf95a1e6d1
BLAKE2b-256 509cf2fcbdb3326de25408371eacc77ff9e20f92625daf999151f3b8a479dc03

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