Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/neoinsanity/ontic
Objects of Knowledge
https://github.com/neoinsanity/ontic
Last synced: 3 months ago
JSON representation
Objects of Knowledge
- Host: GitHub
- URL: https://github.com/neoinsanity/ontic
- Owner: neoinsanity
- License: apache-2.0
- Created: 2014-03-08T22:43:52.000Z (over 10 years ago)
- Default Branch: develop
- Last Pushed: 2021-08-09T22:55:07.000Z (over 3 years ago)
- Last Synced: 2024-06-14T09:21:46.656Z (5 months ago)
- Language: Python
- Homepage: http://neoinsanity.github.io/ontic/
- Size: 1.12 MB
- Stars: 1
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Ontic
======Welcome to **Ontic**, a package designed with making it easy to handle data
objects. **Ontic** provides a pure data object representations that support
*object-style* and *dict-style* attribute access. In addition, **Ontic**
supports schema definition to aid in the validation and management of **Ontic**
object instances.By way of a quick preview:
```
from ontic.ontic_type import OnticType, create_ontic_type, validate_object
from ontic.schema_type import SchemaType
# Define the schema
schema = SchemaType(
prop1={'type':'str','required':True},
prop2={'type':'int','min':1})
# Define an ontic type
AType = create_ontic_type('AType', schema)
# Use AType to create a data instance
obj = AType()
# Show off object and dict style property access
obj.prop1 = 'Some Value'
obj['prop2'] = 3
# And the validation
validate_object(obj)
```Documentation
==============For the latest documentation, visit http://neoinsanity.github.io/ontic/
Getting Ontic
==============Installation
-------------Use pip to install ontic.
> pip install ontic
Source
-------The latest stable release source of **Ontic** can be found on the master
branch at https://github.com/neoinsanity/ontic/tree/master.For the latest development code, use the develop branch at
https://github.com/neoinsanity/ontic. Please note that the development branch
may change without notification.To install **Ontic** from source utilize the *setup.py*:
> python setup.py install
Project Development
====================If you are interested in developing **Ontic** code,
utilize the helper scripts in the *ontic/bin* directory.Setup the Development Environment
----------------------------------Prior to running the dev setup scripts, ensure that you have *virtualenv*
installed. All setup commands are assumed to be run from the project root,
which is the directory containing the *setup.py* file.Prep the development environment with the command:
> bin/dev_setup.sh
This command will setup the virtualenv for the project in the
directory */venv*. It will also install the **Ontic** in a develop mode,
with the creation of a development egg file.Enable the Development Environment
-----------------------------------To make it easy to ensure a correctly configured development session,
utilize the command:> . bin/enable_dev.sh
or> source bin/enable_dev.sh
Note that the script must be sourced, as it will enable a virtualenv session
and add the *bin* directory scripts to environment *PATH*.Running Tests
--------------To run the unit tests:
> run_tests.sh
Building Documentation
-----------------------To run the documentation generation:
> doc_build.sh