{"id":24129435,"url":"https://github.com/synbiodex/sbol_factory","last_synced_at":"2025-09-18T22:32:51.457Z","repository":{"id":40257163,"uuid":"346027545","full_name":"SynBioDex/sbol_factory","owner":"SynBioDex","description":"The SBOLFactory provides a mechanism for automatically generating an interactive, object-oriented API from a declarative data model specification encoded in OWL.","archived":false,"fork":false,"pushed_at":"2023-01-12T06:15:14.000Z","size":3921,"stargazers_count":5,"open_issues_count":17,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-04-15T00:09:28.080Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SynBioDex.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-03-09T14:08:19.000Z","updated_at":"2023-02-10T10:02:46.000Z","dependencies_parsed_at":"2023-02-09T10:15:30.173Z","dependency_job_id":null,"html_url":"https://github.com/SynBioDex/sbol_factory","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SynBioDex%2Fsbol_factory","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SynBioDex%2Fsbol_factory/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SynBioDex%2Fsbol_factory/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SynBioDex%2Fsbol_factory/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SynBioDex","download_url":"https://codeload.github.com/SynBioDex/sbol_factory/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233526212,"owners_count":18689446,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-11T19:32:13.040Z","updated_at":"2025-09-18T22:32:45.928Z","avatar_url":"https://github.com/SynBioDex.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![gh-action badge](https://github.com/SynBioDex/sbol_factory/workflows/Python%20package/badge.svg)\n\n# sbol_factory\n\nThe SBOLFactory provides a mechanism for automatically generating an interactive, object-oriented API from a declarative data model specification encoded in OWL. \n\n## Installation\nThe  `sbol_factory` package and its dependencies can be installed as follows:\n```\npip install sbol_factory\n```\nPython 3 only is supported.\n\n## SBOLFactory\n\nThe SBOLFactory module is an extension of the underlying [pySBOL](https://github.com/SynBioDex/pySBOL3) module. The SBOLFactory will generate an API that is an extension of the pySBOL API. Users who are already familiar with the pySBOL API will find the same patterns and conventions implemented through the SBOLFactory.\n\nImport as follows:\n\n```\nimport sbol_factory\n```\n\nThe SBOLFactory will generate an API from an ontology specification ecoded with the Web Ontology Language (OWL). (A Turtle serialization of the OPIL ontology can be found in the 'rdf' directory.) The module's API is dynamically generated directly from this OWL specification immediately upon import of the module into the user's Python environment. The ontology specifies the Python classes, their attributes, their types, and their cardinality.\n\n## Generating an API\n\nTo generate an API call the SBOLFactory constructor.  This constructor takes three arguments. The first is the `local()` method.  This tells the factory to populate the automatically generated class definitions into the local scope. The second argument provides the file name containing the ontology specification. The third argument provides the namespace for the ontology.\n\n```\n# Import ontology\n__factory__ = SBOLFactory(locals(), 'opil.ttl', 'http://bioprotocols.org/opil/v1#')\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynbiodex%2Fsbol_factory","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsynbiodex%2Fsbol_factory","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynbiodex%2Fsbol_factory/lists"}