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:
- Non-Commercial Use Only: This software may only be used for personal or academic purposes.
- Commercial License Required: For commercial purposes, please contact
osusume-co@lilseed.jp. - Redistribution Prohibited: Redistribution or public sharing of templates and design documents is not allowed.
- 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:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Commit your changes and push them to your branch.
- 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
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lingustruct-0.2.4.tar.gz.
File metadata
- Download URL: lingustruct-0.2.4.tar.gz
- Upload date:
- Size: 13.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47b6c1615e01d7f76c8b7a44bcc586cff4b17b26f9d4dca6e21da709dd9c9755
|
|
| MD5 |
50f61b8267c72210674cd76786a3b1da
|
|
| BLAKE2b-256 |
a3268b7ac5ddde3f270011567afa7982fa84afb407458d01ce66b018ad8e3cb8
|
File details
Details for the file lingustruct-0.2.4-py3-none-any.whl.
File metadata
- Download URL: lingustruct-0.2.4-py3-none-any.whl
- Upload date:
- Size: 16.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b439d324122fef6167216bd0d7bd370d917db210412827806b86c09d521b394
|
|
| MD5 |
3732e52e8bffcb232c4d317f4863e0b9
|
|
| BLAKE2b-256 |
fa162d505449c4cc4d33d2f960dffca47d772bf4fc305724ad058c336fe34b4b
|