# **Bring File Format Documentation**

## **π Introduction**
**Bring** is a modern, human-readable file format designed for two primary purposes:
1. **Package Management for EasierLang** β Used to define and import packages from the **Daftyon Hub** in the upcoming **EasierLang** programming language.
2. **Universal Data Exchange** β A powerful configuration and data exchange format that combines the best of **JSON**, **YAML**, and **XML** while solving their key issues.
Future versions (**v2**) will expand Bring's capabilities to include **payment processing** and **secure financial transactions**, making it a unified solution for both package management and structured data exchange.
---
## **β¨ Why Bring?**
| Feature | JSON | YAML | XML | **Bring** |
|---------|------|------|-----|-----------|
| **Human-Readable** | β (No comments) | β
| β (Too verbose) | β
|
| **Supports Comments** | β | β
| β
| β
|
| **Schema Validation** | β (External) | β | β
(XSD) | β
(Built-in) |
| **Attributes/Metadata** | β | β | β
(`<tag attr="">`) | β
(`@attr=value`) |
| **No Ambiguity** | β
| β (`yes` vs `true`) | β
| β
|
| **Multi-Line Strings** | β (Escaped) | β
| β | β
|
| **Secure by Default** | β
| β (Code execution risk) | β
| β
|
---
## **π Bring Syntax**
### **1. Key-Value Pairs**
```bring
# Basic key-value
name = "Bring"
version = 1.0
enabled = true
```
### **2. Objects (Nested Data)**
```bring
user = {
id = 1
name = "Alice" @required=true
email = "alice@example.com" @format="email"
}
```
### **3. Arrays (Lists)**
```bring
features = ["logging", "caching", "auth"]
```
### **4. Attributes (Metadata)**
```bring
port = 8080 @min=1 @max=65535
```
### **5. Schemas (Validation Rules)**
```bring
schema Product {
id = number @min=1
name = string @maxLength=100
price = float @min=0
}
```
### **6. Multi-Line Strings**
```bring
description = """
Bring is a modern file format
combining JSON, YAML, and XML.
"""
```
---
## **π Use Cases**
### **1. EasierLang Package Management**
```bring
# Import packages from Daftyon Hub
package = {
name = "http-server"
version = "2.3.0"
dependencies = ["json-parser", "logger"]
}
```
### **2. Configuration Files**
```bring
# Server config
server = {
host = "0.0.0.0"
port = 3000
ssl = {
enabled = true
cert = "/path/to/cert.pem"
}
}
```
### **3. Future: Payment Transactions (v2)**
```bring
# Hypothetical payment example
transaction = {
id = "txn_123" @unique=true
amount = 100.50 @currency="USD"
receiver = "merchant@example.com" @verified=true
timestamp = "2025-01-01T12:00:00Z" @format="ISO8601"
}
```
---
## **π§ How to Use**
### **1. Install the Parser**
```bash
pip install bring-parser # (Coming soon)
```
### **2. Parse a Bring File (Python)**
```python
from bring_parser import parse_bring_file
data = parse_bring_file("config.bring")
print(data["server"]["port"]) # 3000
```
### **3. CLI Usage**
```bash
bring parse config.bring --format=json
```
---
## **π Key Advantages Over JSON/YAML/XML**
β
**No Ambiguity** β Strict typing (no `yes`/`no` vs `true`/`false` like YAML)
β
**Built-in Schema Validation** β No need for external schemas
β
**Supports Comments** β Unlike JSON
β
**Cleaner Than XML** β No closing tags or `< >` clutter
β
**Secure** β No arbitrary code execution (unlike YAML)
β
**Future-Ready** β Designed for payments, APIs, and more
---
## **π
Future Roadmap**
- **v1.0** β Stable release for package management & configs
- **v1.5** β Schema validation improvements
- **v2.0** β Payment processing & financial transactions
---
## **π Example Files**
- [Package Definition](examples/package.bring)
- [Server Config](examples/server.bring)
- [Database Schema](examples/schema.bring)
---
## **π― Conclusion**
Bring is **the ultimate file format** for:
- **EasierLang package management**
- **Clean, readable configs**
- **Future payment systems**
It combines **JSONβs simplicity**, **YAMLβs readability**, and **XMLβs structure** while fixing their flaws.
π **Get started today!**
---
**License**: MIT
**Author**: Daftyon Team
**Repository**: [github.com/daftyon/bring](https://github.com/daftyon/bring)
---
Raw data
{
"_id": null,
"home_page": null,
"name": "bring-parser",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "Daftyon Team <contact@daftyon.com>",
"keywords": "config, configuration, parser, yaml, json, xml, bring, easierlang, package-manager",
"author": "Daftyon Team",
"author_email": "Daftyon Team <contact@daftyon.com>",
"download_url": "https://files.pythonhosted.org/packages/96/d2/640cd61da142866dc7de414c97cf4082c24cae84bc2992e49e02f4a21c80/bring_parser-1.0.0.tar.gz",
"platform": null,
"description": "# **Bring File Format Documentation**\n\n## **\ud83d\udccc Introduction**\n**Bring** is a modern, human-readable file format designed for two primary purposes:\n1. **Package Management for EasierLang** \u2013 Used to define and import packages from the **Daftyon Hub** in the upcoming **EasierLang** programming language.\n2. **Universal Data Exchange** \u2013 A powerful configuration and data exchange format that combines the best of **JSON**, **YAML**, and **XML** while solving their key issues.\n\nFuture versions (**v2**) will expand Bring's capabilities to include **payment processing** and **secure financial transactions**, making it a unified solution for both package management and structured data exchange.\n\n---\n\n## **\u2728 Why Bring?**\n| Feature | JSON | YAML | XML | **Bring** |\n|---------|------|------|-----|-----------|\n| **Human-Readable** | \u274c (No comments) | \u2705 | \u274c (Too verbose) | \u2705 |\n| **Supports Comments** | \u274c | \u2705 | \u2705 | \u2705 |\n| **Schema Validation** | \u274c (External) | \u274c | \u2705 (XSD) | \u2705 (Built-in) |\n| **Attributes/Metadata** | \u274c | \u274c | \u2705 (`<tag attr=\"\">`) | \u2705 (`@attr=value`) |\n| **No Ambiguity** | \u2705 | \u274c (`yes` vs `true`) | \u2705 | \u2705 |\n| **Multi-Line Strings** | \u274c (Escaped) | \u2705 | \u274c | \u2705 |\n| **Secure by Default** | \u2705 | \u274c (Code execution risk) | \u2705 | \u2705 |\n\n---\n\n## **\ud83d\udcdc Bring Syntax**\n### **1. Key-Value Pairs**\n```bring\n# Basic key-value\nname = \"Bring\"\nversion = 1.0\nenabled = true\n```\n\n### **2. Objects (Nested Data)**\n```bring\nuser = {\n id = 1\n name = \"Alice\" @required=true\n email = \"alice@example.com\" @format=\"email\"\n}\n```\n\n### **3. Arrays (Lists)**\n```bring\nfeatures = [\"logging\", \"caching\", \"auth\"]\n```\n\n### **4. Attributes (Metadata)**\n```bring\nport = 8080 @min=1 @max=65535\n```\n\n### **5. Schemas (Validation Rules)**\n```bring\nschema Product {\n id = number @min=1\n name = string @maxLength=100\n price = float @min=0\n}\n```\n\n### **6. Multi-Line Strings**\n```bring\ndescription = \"\"\"\nBring is a modern file format\ncombining JSON, YAML, and XML.\n\"\"\"\n```\n\n---\n\n## **\ud83d\ude80 Use Cases**\n### **1. EasierLang Package Management**\n```bring\n# Import packages from Daftyon Hub\npackage = {\n name = \"http-server\"\n version = \"2.3.0\"\n dependencies = [\"json-parser\", \"logger\"]\n}\n```\n\n### **2. Configuration Files**\n```bring\n# Server config\nserver = {\n host = \"0.0.0.0\"\n port = 3000\n ssl = {\n enabled = true\n cert = \"/path/to/cert.pem\"\n }\n}\n```\n\n### **3. Future: Payment Transactions (v2)**\n```bring\n# Hypothetical payment example\ntransaction = {\n id = \"txn_123\" @unique=true\n amount = 100.50 @currency=\"USD\"\n receiver = \"merchant@example.com\" @verified=true\n timestamp = \"2025-01-01T12:00:00Z\" @format=\"ISO8601\"\n}\n```\n\n---\n\n## **\ud83d\udd27 How to Use**\n### **1. Install the Parser**\n```bash\npip install bring-parser # (Coming soon)\n```\n\n### **2. Parse a Bring File (Python)**\n```python\nfrom bring_parser import parse_bring_file\n\ndata = parse_bring_file(\"config.bring\")\nprint(data[\"server\"][\"port\"]) # 3000\n```\n\n### **3. CLI Usage**\n```bash\nbring parse config.bring --format=json\n```\n\n---\n\n## **\ud83d\udccc Key Advantages Over JSON/YAML/XML**\n\u2705 **No Ambiguity** \u2013 Strict typing (no `yes`/`no` vs `true`/`false` like YAML) \n\u2705 **Built-in Schema Validation** \u2013 No need for external schemas \n\u2705 **Supports Comments** \u2013 Unlike JSON \n\u2705 **Cleaner Than XML** \u2013 No closing tags or `< >` clutter \n\u2705 **Secure** \u2013 No arbitrary code execution (unlike YAML) \n\u2705 **Future-Ready** \u2013 Designed for payments, APIs, and more \n\n---\n\n## **\ud83d\udcc5 Future Roadmap**\n- **v1.0** \u2013 Stable release for package management & configs \n- **v1.5** \u2013 Schema validation improvements \n- **v2.0** \u2013 Payment processing & financial transactions \n\n---\n\n## **\ud83d\udcc2 Example Files**\n- [Package Definition](examples/package.bring) \n- [Server Config](examples/server.bring) \n- [Database Schema](examples/schema.bring) \n\n---\n\n## **\ud83c\udfaf Conclusion**\nBring is **the ultimate file format** for:\n- **EasierLang package management** \n- **Clean, readable configs** \n- **Future payment systems** \n\nIt combines **JSON\u2019s simplicity**, **YAML\u2019s readability**, and **XML\u2019s structure** while fixing their flaws. \n\n\ud83d\ude80 **Get started today!** \n\n---\n**License**: MIT \n**Author**: Daftyon Team \n**Repository**: [github.com/daftyon/bring](https://github.com/daftyon/bring) \n\n--- \n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Parser for the Bring file format - modern configuration and package management",
"version": "1.0.0",
"project_urls": {
"Bug Reports": "https://github.com/daftyon/bring-parser/issues",
"Changelog": "https://github.com/daftyon/bring-parser/blob/main/CHANGELOG.md",
"Documentation": "https://bring-parser.readthedocs.io/",
"Homepage": "https://github.com/daftyon/bring-parser",
"Repository": "https://github.com/daftyon/bring-parser.git"
},
"split_keywords": [
"config",
" configuration",
" parser",
" yaml",
" json",
" xml",
" bring",
" easierlang",
" package-manager"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "4cd6d84055d922103f38510a269e0200bb4dda3170a084d891549ab8ec6c0127",
"md5": "97f2f3e90a493be8d724b9658c6baf08",
"sha256": "97b215fd3ce7c9348b268fbd3e923806362f229ff3ae378fa6a466e3e04dcc71"
},
"downloads": -1,
"filename": "bring_parser-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "97f2f3e90a493be8d724b9658c6baf08",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 28348,
"upload_time": "2025-07-29T18:49:34",
"upload_time_iso_8601": "2025-07-29T18:49:34.369011Z",
"url": "https://files.pythonhosted.org/packages/4c/d6/d84055d922103f38510a269e0200bb4dda3170a084d891549ab8ec6c0127/bring_parser-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "96d2640cd61da142866dc7de414c97cf4082c24cae84bc2992e49e02f4a21c80",
"md5": "d5e8f6396edf8939b6c7e3da01c8e643",
"sha256": "8f8a73d8d19134ff23eec04b045e798e87eb4507caf6c8e52a9c3c367b4543bc"
},
"downloads": -1,
"filename": "bring_parser-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "d5e8f6396edf8939b6c7e3da01c8e643",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 50384,
"upload_time": "2025-07-29T18:49:35",
"upload_time_iso_8601": "2025-07-29T18:49:35.699808Z",
"url": "https://files.pythonhosted.org/packages/96/d2/640cd61da142866dc7de414c97cf4082c24cae84bc2992e49e02f4a21c80/bring_parser-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-29 18:49:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "daftyon",
"github_project": "bring-parser",
"github_not_found": true,
"lcname": "bring-parser"
}