Metadata-Version: 2.4
Name: ontologytoapi
Version: 0.0.21
Summary: Multi purpose API Generator based on an Ontology Framework.
Home-page: https://github.com/JCGCosta/OntologyToAPI
Author: Júlio César Guimarães Costa
Author-email: juliocesargcosta123@gmail.com
License: MIT License
Keywords: Ontology,API
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Operating System :: Microsoft :: Windows :: Windows 11
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Programming Language :: Python :: 3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: SQLAlchemy
Requires-Dist: pydantic
Requires-Dist: requests
Requires-Dist: pymongo
Requires-Dist: rdflib
Requires-Dist: fastapi
Requires-Dist: uvicorn
Requires-Dist: python-multipart
Requires-Dist: asyncio
Requires-Dist: unqlite
Requires-Dist: asyncpg
Requires-Dist: aiomysql
Requires-Dist: aiosqlite
Requires-Dist: motor
Requires-Dist: aiofiles
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: requires-dist
Dynamic: summary

# OntologyToAPI
> This python package is an ontology-driven API generator designed for 
> backend development by transforming structured domain 
> knowledge, different data sources and implemented business models into fully functional APIs. The tool accepts ontologies 
> specified in Turtle (.ttl), Resource Description Framework (.rdf)
> and Web Ontology Language (.owl).
>
> [![Publish to PyPI and TestPyPI](https://github.com/JCGCosta/OntologyToAPI/actions/workflows/python-publish.yml/badge.svg)](https://github.com/JCGCosta/OntologyToAPI/actions/workflows/python-publish.yml)

---

- A full documentation on how to extend your own ontologies using the OntologyToAPI framework is still in development, but you can check a small sample and docs at https://github.com/JCGCosta/OntologyToAPI/wiki

### Expected Results from a simple ontology specification

<img src="https://github.com/JCGCosta/OntologyToAPI/blob/master/example/APIEndpoints.png?raw=true" alt="APIEndpoints" title="APIEndpoints.">

### Supported communication technologies are (Currently):

#### Stateful Connections
- "SOCKET" - For Socket connections using asyncio streams

#### Stateless Connections
- "API" - For REST APIs using requests driver
- "MYSQL" - For MySQL Databases using aiomysql driver
- "SQLITE" - For SQLite Databases using aiosqlite driver
- "POSTGRESQL" - For PostgreSQL Databases using asyncpg driver
- "MONGODB" - For MongoDB Databases using motor driver
- "UNQLITE" - For UnQLite Databases using unqlite+asyncio driver

### Next Steps: 

Next steps involve extending the support for new communication technologies.
- "FILE" - For File operations using aiofiles driver
- "WEBSOCKET" - For WebSocket connections using websockets driver
- "MQTT" - For MQTT connections using asyncio-mqtt driver
- "REDIS" - For Redis Databases using aioredis driver
- "CASSANDRA" - For Cassandra Databases using cassandra-driver with asyncio support

Change Log
===============
VERSION="0.0.21"
LAST_UPDATE="11/02/2026"
------------------
- Added a mechanism to automatically get the expected output
  from the ontology and add the expected response schema.
- Added to the example the updates required to test the new
  feature of response schema.
------------------

