Skip to main content

AI-supported system design framework optimized for usability.

Project description

LinguStruct

LinguStruct is an AI-supported system design framework optimized for AI understanding and usability. It provides a structured template for system design documents, facilitating easy and efficient system development for users worldwide.


Installation

Ensure you have Python 3.6 or higher installed. Then, clone the repository and install the package:

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

Usage

1. Setting up API Keys

Create a .env file in the root directory to store your API keys and other sensitive information.
Here is an example:

# .env file example
GROQ_API_KEY=your-groq-api-key

2. Running the Framework

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

from lingustruct import LinguStruct, AISupport, Validator

# Initialize components
lingu_struct = LinguStruct()
ai_support = AISupport()
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}")

# Example: AI-supported section completion with user-defined parameters
completion = ai_support.complete_design(
    section="meta", 
    content="The purpose of this project is...", 
    model="llama-3.2-90b-text-preview", 
    max_tokens=200, 
    temperature=0.8
)
print("AI Completion:", completion)

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 (small, medium, large, enterprise)
st Style The design style
c_n Component Name The name of the component
c_t Component Type The type of the component
c_p Component Path The file path 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
abbr Abbreviations List of abbreviations used
map Mappings Key-value mappings
p_order Property Order Order of properties
v Version System or service version
l Languages Programming languages used
f Frameworks Frameworks utilized
t Tools Tools used for development or management
a Authentication Authentication methods
az Authorization Authorization methods (e.g., RBAC)
m Microservices Microservices architecture
p Performance Performance optimization information
ar Architecture System architecture overview
svc Service Services or modules
sec Security Security measures

Configuration

Ensure your .env file is properly configured with your API keys and other settings:

# Example .env file
GROQ_API_KEY=your-groq-api-key

License

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

Terms of Use:

  1. Non-Commercial Use Only: This software may only be used for personal or academic purposes.
  2. Commercial License Required: For commercial purposes, please contact osusume-co@lilseed.jp.
  3. Redistribution Prohibited: Redistribution or public sharing of templates and design documents is not allowed.
  4. No Warranty: The authors are not responsible for any damages resulting from the use of this software.

Contributing

If you wish to contribute to LinguStruct, please follow these steps:

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

Disclaimer

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


Issues & Support

If you encounter any issues, please report them on the GitHub Issues page.


Changelog

  • v0.1.0: Initial release with basic framework and API integration.

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for lingustruct-0.1.7.tar.gz
Algorithm Hash digest
SHA256 d7db0d206b9d6820162c15905bdf6e86451d2d39d88257b74346d2d712fa032b
MD5 31169e5d9c09ebee97e0cfe72eb2ca72
BLAKE2b-256 e95e8035ad53db42312e1c062f7d1e61380abb82b69a28d2173805af2415d3f5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lingustruct-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 15.7 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.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 e30d871c60fc608e2038355f4b963ec20676b86ff0a4d560ffea3b66608ba164
MD5 4011c2672994044b35ad317683980af2
BLAKE2b-256 de9cc81a131ef92b0c0146400dd0436ec41c3424754dc5a324e4e564779153df

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