https://github.com/muhammad-fiaz/ason
ASON: Adaptive Structured Object Notation - Python library for dynamic data serialization, providing flexibility and simplicity.
https://github.com/muhammad-fiaz/ason
adaptive-structure-object-notation api ason cli client data file file-format file-sharing file-upload json json-data json-parser open-source opensource parser parsing python python3
Last synced: 5 months ago
JSON representation
ASON: Adaptive Structured Object Notation - Python library for dynamic data serialization, providing flexibility and simplicity.
- Host: GitHub
- URL: https://github.com/muhammad-fiaz/ason
- Owner: muhammad-fiaz
- License: apache-2.0
- Created: 2024-01-11T14:17:39.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-22T15:41:28.000Z (almost 2 years ago)
- Last Synced: 2025-09-05T10:52:46.585Z (10 months ago)
- Topics: adaptive-structure-object-notation, api, ason, cli, client, data, file, file-format, file-sharing, file-upload, json, json-data, json-parser, open-source, opensource, parser, parsing, python, python3
- Language: Python
- Homepage: https://pypi.org/project/ason/
- Size: 48.8 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# ASON: Adaptive Structure Object Notation
[](https://github.com/muhammad-fiaz/ason/actions/workflows/package-tests.yaml)
[](https://pypi.org/project/ason/)
[](https://pypi.org/project/ason/)
[](https://pypi.org/project/ason/)
[](https://github.com/muhammad-fiaz/ason)
[](https://github.com/muhammad-fiaz/ason/issues)
[](https://github.com/muhammad-fiaz/ason/stargazers)
[](https://github.com/muhammad-fiaz/ason/network)
[](https://github.com/muhammad-fiaz)
[](https://github.com/sponsors/muhammad-fiaz)
[](https://github.com/muhammad-fiaz/ason/blob/main/LICENSE)
[](https://github.com/muhammad-fiaz/ason)
ASON is a Python library designed for adaptive data serialization. It seamlessly handles various data structures, offering flexibility and simplicity inspired by JSON.
> This Project is Still in active Development so not ready for production yet
## Installation
```bash
pip install ason
```
## Usage
```python3
from ason import ason
# Create an Ason object
data = '{"name": "${name}", "age": ${age}, "city": "${city}", "hobbies": ["${hobby1}", "${hobby2}"]}'
ason_data = ason.loads(data)
# Set values for variables
ason_data.set("name", "John")
ason_data.set("age", 30)
ason_data.set("city", "New York")
ason_data.set("hobby1", "Reading")
ason_data.set("hobby2", "Coding")
# Print the result after setting variables
result_after_set = ason_data.dumps()
print("Result after setting variables:")
print(result_after_set)
print()
# Replace a key dynamically
ason_data.replace("age", "new_age", 25)
# Append a value to the 'hobbies' list
ason_data.append("hobbies", "Gardening")
# Print the result after replacing and appending
result_after_modify = ason_data.dumps()
print("Result after replacing and appending:")
print(result_after_modify)
print()
# Get the value associated with a key
city_value = ason_data.get("city")
print("Value for key 'city':", city_value)
print()
# Accessing values using square bracket notation
name_value = ason_data["name"]
print("Value for key 'name' using square bracket notation:", name_value)
print()
# Set a value using square bracket notation
ason_data["new_key"] = "new_value"
print("Result after setting a value using square bracket notation:")
print(ason_data.dumps())
```
This example demonstrates how to create an Ason object, load data, set values for variables, and then dump the result. The output will be a dictionary with the replaced values:
Result after setting variables:
```json
{"name": "John", "age": "30", "city": "New York", "hobbies": ["${hobby1}", "${hobby2}"]}
```
Result after replacing and appending:
```json
{"name": "John", "new_age": 25, "city": "New York", "hobbies": ["${hobby1}", "${hobby2}", "Gardening"]}
```
Value for key 'city': New York
Value for key 'name' using square bracket notation: John
Result after setting a value using square bracket notation:
```json
{"name": "John", "new_age": 25, "city": "New York", "hobbies": ["${hobby1}", "${hobby2}", "Gardening"], "new_key": "new_value"}
```
## Contributing
Contributions are welcome! Before contributing, please read our [Contributing Guidelines](CONTRIBUTING.md) to ensure a smooth and collaborative development process.
## Code of Conduct
Please review our [Code of Conduct](CODE_OF_CONDUCT.md) to understand the standards of behavior we expect from contributors and users of this project.
## License
This project is licensed under the [Apache 2.0 License](). See [LICENSE](LICENSE) for more details.
## Support the Project
💰 You can help me improve more by offering a little support on any platform❤️
[](https://buymeacoffee.com/muhammadfiaz) [](https://patreon.com/muhammadfiaz) [](https://ko-fi.com/muhammadfiaz)
[](https://github.com/sponsors/muhammad-fiaz)
[](https://opencollective.com/muhammadfiaz)
## Happy Coding ❤️