{ "info": { "author": "Lamy Jean-Baptiste (Jiba)", "author_email": "jibalamy@free.fr", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Owlready2\n=========\n\n.. image:: https://readthedocs.org/projects/owlready2/badge/?version=latest\n :target: http://owlready2.readthedocs.io/en/latest/\n :alt: documentation\n\n.. image:: http://www.lesfleursdunormal.fr/static/_images/owlready_downloads.svg\n :target: http://www.lesfleursdunormal.fr/static/informatique/pymod_stat_en.html\n :alt: download stats\n\n\n \nOwlready2 is a module for ontology-oriented programming in Python 3, including an optimized RDF quadstore.\n\nOwlready2 can:\n\n - Import OWL 2.0 ontologies in NTriples, RDF/XML or OWL/XML format\n\n - Export OWL 2.0 ontologies to NTriples or RDF/XML\n\n - Manipulates ontology classes, instances and properties transparently, as if they were normal Python objects\n\n - Add Python methods to ontology classes\n\n - Perform automatic classification of classes and instances, using the HermiT or Pellet reasoner (included)\n\n - Load DBpedia or UMLS (for medical terminology, using the integrated PyMedTermino2 submodule)\n\n - Tested up to 1 billion of RDF triples! (but can potentially support more)\n\n - In addition, the quadstore is compatible with the RDFlib Python module, which can be used to perform SPARQL queries\n \n - Finally, Owlready2 can also be used as an ORM (Object-Relational mapper) -- as a graph/object database, it beats Neo4J, MongoDB, SQLObject and SQLAlchemy in terms of performances\n \nOwlready has been created by Jean-Baptiste Lamy at the LIMICS reseach lab.\nIt is available under the GNU LGPL licence v3.\nIf you use Owlready in scientific works, **please cite the following article**:\n\n **Lamy JB**.\n `Owlready: Ontology-oriented programming in Python with automatic classification and high level constructs for biomedical ontologies. `_\n **Artificial Intelligence In Medicine 2017**;80:11-28\n \nIn case of troubles, questions or comments, please use this Forum/Mailing list: http://owlready.8326.n8.nabble.com\n\n\n \nWhat can I do with Owlready2?\n-----------------------------\n\nLoad an ontology from a local repository, or from Internet:\n\n::\n\n >>> from owlready2 import *\n >>> onto_path.append(\"/path/to/your/local/ontology/repository\")\n >>> onto = get_ontology(\"http://www.lesfleursdunormal.fr/static/_downloads/pizza_onto.owl\")\n >>> onto.load()\n\nCreate new classes in the ontology, possibly mixing OWL constructs and Python methods:\n\n::\n >>> with onto:\n ... class NonVegetarianPizza(onto.Pizza):\n ... equivalent_to = [\n ... onto.Pizza\n ... & ( onto.has_topping.some(onto.MeatTopping)\n ... | onto.has_topping.some(onto.FishTopping)\n ... ) ]\n ... def eat(self): print(\"Beurk! I'm vegetarian!\")\n\nAccess ontology class, and create new instances / individuals:\n\n::\n\n >>> onto.Pizza\n pizza_onto.Pizza\n >>> test_pizza = onto.Pizza(\"test_pizza_owl_identifier\")\n >>> test_pizza.has_topping = [ onto.CheeseTopping(),\n ... onto.TomatoTopping(),\n ... onto.MeatTopping () ]\n\nExport to RDF/XML file:\n\n::\n\n >>> test_onto.save()\n\nPerform reasoning, and classify instances and classes:\n\n::\n\n >>> test_pizza.__class__\n onto.Pizza\n \n >>> # Execute HermiT and reparent instances and classes\n >>> sync_reasoner()\n \n >>> test_pizza.__class__\n onto.NonVegetarianPizza\n >>> test_pizza.eat()\n Beurk! I'm vegetarian !\n\nAccess to medical terminologies from UMLS:\n\n::\n\n >>> from owlready2 import *\n >>> from owlready2.pymedtermino2.umls import *\n >>> default_world.set_backend(filename = \"pym.sqlite3\")\n >>> import_umls(\"umls-2018AB-full.zip\", terminologies = [\"ICD10\", \"SNOMEDCT_US\", \"CUI\"])\n >>> default_world.save()\n \n >>> PYM = get_ontology(\"http://PYM/\").load()\n >>> ICD10 = PYM[\"ICD10\"]\n >>> SNOMEDCT_US = PYM[\"SNOMEDCT_US\"]\n \n >>> SNOMEDCT_US[186675001]\n SNOMEDCT_US[\"186675001\"] # Viral pharyngoconjunctivitis\n \n >>> SNOMEDCT_US[186675001] >> ICD10 # Map to ICD10\n Concepts([\n ICD10[\"B30.9\"] # Viral conjunctivitis, unspecified\n ])\n \nFor more documentation, look at the doc/ directories in the source.\n\nChangelog\n---------\n\nversion 1 - 0.2\n***************\n\n* Fix sync_reasonner and Hermit call under windows (thanks Clare Grasso)\n\nversion 1 - 0.3\n***************\n\n* Add warnings\n* Accepts ontologies files that do not ends with '.owl'\n* Fix a bug when loading ontologies including concept without a '#' in their IRI\n\nversion 2 - 0.1\n***************\n\n* Full rewrite, including an optimized quadstore\n\nversion 2 - 0.2\n***************\n\n* Implement RDFXML parser and generator in Python (no longer use rapper or rdflib)\n* Property chain support\n* Add ntriples_diff.py utility\n* Bugfixes:\n - Fix breaklines in literal when exporting to NTriples\n\nversion 2 - 0.3\n***************\n\n* Add destroy_entity() global function\n* Greatly improve performance for individual creation\n* When searching, allow to use \"*\" as a jocker for any object\n* Bugfixes:\n - Fix nested intersections and unions\n - Fix boolean\n - Fix bug when removing parent properties\n - Fix parsing of rdf:ID\n - Fix multiple loading of the same ontology whose IRI is modified by OWL file, using an ontology alias table\n - Fix ClassConstruct.subclasses()\n - Check for properties with multiple incompatible classes (e.g. ObjectProperty and Annotation Property)\n\nversion 2 - 0.4\n***************\n\n* Add methods for querying the properties defined for a given individuals, the inverse properties\n and the relation instances (.get_properties(), .get_inverse_properties() and .get_relations())\n* Add .indirect() method to obtain indirect relations (considering subproperties, transivitity,\n symmetry and reflexibity)\n* search() now takes into account inheritance and inverse properties\n* search() now accepts 'None' for searching for entities without a given relation\n* Optimize ontology loading by recreating SQL index from scratch\n* Optimize SQL query for transitive quadstore queries, using RECURSIVE Sqlite3 statements\n* Optimize SQL query for obtaining the number of RDF triples (ie len(default_world.graph))\n* Add Artificial Intelligence In Medicine scientific article in doc and Readme \n* Bugfixes:\n - Fix properties loading when reusing an ontology from a disk-stored quadstore\n - Fix _inherited_property_value_restrictions() when complement (Not) is involved\n - Fix restrictions with cardinality\n - Fix doc on AllDisjoint / AllDifferent\n\nversion 2 - 0.5\n***************\n\n* Add individual/instance editor (require EditObj3, still largely untested)\n* Add support for hasSelf restriction\n* Optimize XML parsers\n* Check for cyclic subclass of/subproperty of, and show warning\n* PyPy 3 support (devel version of PyPy 3)\n* Bugfixes:\n - Fix search() for '*' value on properties with inverse\n - Fix individual.annotation = \"...\" and property.annotation = \"...\"\n - Fix PlainLiteral annotation with no language specified\n - Fix doc for Creating classes dynamically\n - Fix loading ontologies with python_name annotations\n - Fix _inherited_property_value_restrictions when multiple is-a / equivalent-to are present\n - Align Python floats with xsd:double rather than xsd:decimal\n - Rename module 'property' as 'prop', to avoid name clash with Python's 'property()' type\n\nversion 2 - 0.6\n***************\n\n* Add set_datatype_iri() global function for associating a Python datatype to an IRI\n* Add nquads ontology format (useful for debugging)\n* Add support for dir() on individuals\n* Add support for ontology using https: protocol (thanks Samourkasidis Argyrios)\n* Add observe module (for registering callback when the ontology is modified)\n* Improve docs\n* Bugfixes:\n - Align Python floats with xsd:decimal rather than xsd:double, finally, because decimal accepts int too\n - Fix Class.instances() so as it returns instances of subclasses (as indicated in the doc)\n - Fix direct assignation to Ontology.imported_ontologies\n - Fix a bug in reasoning, when adding deduced facts between one loaded and one non-loaded entity\n\nversion 2 - 0.7\n***************\n\n* Bugfixes:\n - Restore HermiT compiled with older Java compilator (higher compatibility)\n \nversion 2 - 0.8\n***************\n\n* Bugfixes:\n - REALLY restore HermiT compiled with older Java compilator (higher compatibility)\n - Fix search(prop = \"value\") when value is a string and the ontology uses localized string\n \nversion 2 - 0.9\n***************\n\n* PostgresQL backend (in addition to SQLite3)\n* Add 'exclusive = False' option for SQLite3 backend (slower, but allows multiple uses)\n* Use unique index in sqlite3 quadstore on resources table\n* Optimize sqlite3 quadstore by caching IRI dict (5% faster)\n* Add == support for class construct\n* Add get_namespace() support on World\n* Add 'existential restrictions as class properties' feature\n* Bugfixes:\n - Fix imported ontologies\n - Fix saving ontologies in onto_path\n - Fix clear() on CallbackList\n - Fix bug in Class IRI in ontologies whose base IRI ends with a /\n - Fix imported ontologies in ontologies whose base IRI ends with a /\n \nversion 2 - 0.10\n****************\n\n* Add Ontology.metadata for adding/querying ontology metadata\n* Allows multiple individual creations with the same name/IRI, now returning the same individuals\n* Add OwlReadyInconsistentOntologyError and Word.inconsistent_classes()\n* Implement RDF/XML and OWL/XML parsing in Cython (25% speed boost for parsing)\n* Small optimization\n* Extend individual.prop.indirect() to include relations asserted at the class level\n* Add .query_owlready() method to RDF graph \n* Bugfixes:\n - Fix reasoning when obtaining classes equivalent to nothing\n - Fix World creation with backend parameters\n - Fix error when adding property at the class definition level\n - Fix loading of ontology files with no extension from onto_path\n - Fix properties defined with type 'RDF Property' and subproperty of 'OWL Data/Object/Annotation Property'\n - Support old SQLite3 versions that do not accept WITHOUT ROWID\n - Fix reference to undeclared entities (they were replaced by None, now by their IRI)\n - Fix loading and saving ontologies whose base IRI ends with /\n - Fix RDF query using string\n \nversion 2 - 0.11\n****************\n\n* Optimized Full-Text Search\n* Support Pellet reasoner in addition to HermiT\n* Support loading of huge OWL files (incremental load)\n* Use Class.property.indirect() for indirect Class property (instead of Class.property)\n* Add reload and reload_if_newer parameters to Ontology.load()\n* search() is now much faster on properties that have inverse\n* Add shortcut for SOME ConstrainedDatatype: e.g. age >= 65\n* Bugfixes:\n - Fix creation of an individual that already exists in the quadstore\n - Fix missing import of EntityClass in class_construct.py\n - Fix World.save() with RDF/XML format\n - Fix Thing.subclasses() and Thing.descendants()\n - Fix ontology's update time for ontologies created de novo in Python with Owlready\n - Fix reasoning when asserting new parents with equivalent classes\n \nversion 2 - 0.12\n****************\n\n* New quadstore\n* Numerical search (NumS, e.g. all patients with age > 65)\n* Nested searches\n* Synchronization for multithreading support\n* Add Class.inverse_restrictions() and Class.direct_instances()\n* Drop PostgresQL support (little interest: more complex and slower than Sqlite3)\n* Bugfixes:\n - Fix call to _get_by_storid2\n - Fix rdfs_subclassof in doc\n - Fix FTS triggers\n - Fix boolean in RDFlib / SPARQL\n - Fix bug when destroying an AnnotationProperty\n\nversion 2 - 0.13\n****************\n\n* Bugfixes:\n - Fix performance regression due to suboptimal index in the quadstore\n - Fix messing up with IRI ending with a /\n - Fix error in World cloning\n - Fix the addition of Thing in class's parent when redefining a class with Thing as the only parent\n - Fix inverse_resctriction()\n - Add error message when creating an existent quadstore\n\nversion 2 - 0.14\n****************\n\n* UMLS support (owlready2.pymedtermino2 package)\n* Can infer object property values when reasoning (thanks W Zimmer)\n* New implementation of property values; use INDIRECT_prop to get indirect values\n* Support several class property types : some, only, some + only, and direct relation\n* Automatically create defined classes via class properties\n* Support anonymous individuals, e.g. Thing(0)\n* Optimize search() when only the number of returned elements is used\n* Optimize FTS search() when using also non-FTS statements\n* Can restrict reasoning to a list of ontologies\n* Union searches (i.e. default_world.search(...) | default_world.search(...))\n* Bugfixes:\n - Fix functional class properties with inheritance\n - Fix dupplicated instance list restrictions when calling close_world(ontology)\n - Fix use of '*' in search\n - Fix synchronization, using contextvars for global variables\n\nversion 2 - 0.15\n****************\n\n* Can infer data property values when reasoning with Pellet\n* Optimize searches with 'type =', 'subclass_of =', or 'is_a =' parameters\n* Add Property.range_iri\n* Add _case_sensitive parameter to search()\n* Add inverse property support in RDFlib support\n* Show Java error message when reasoners crash\n* Bugfixes:\n - Consider inverse property in get_properties()\n - Fix parsing bug in reasoning with HermiT and infer_property_values = True\n - Namespace prefix support in RDFlib binding\n - Fix dupplicates values when a relation involving a property with inverse is asserted in both directions\n - Better workaround in case of metaclass conflict\n - Fix 'sqlite3.OperationalError: too many SQL variables' in searches with 'type =', 'subclass_of =', or 'is_a =' parameters\n \nversion 2 - 0.16\n****************\n\n* Optimize nested searches\n* search(sublclass_of = xxx) now returns xxx itself in the results\n* Support \"with long_ontology_name as onto\" syntax\n* In UMLS import, add optional parameters for preventing extraction of attributes, relations, etc\n* Support SPARQL INSERT queries\n* Optimize Pymedtermino mapping\n* Doc for PyMedTermino2\n* Bugfixes:\n - Fix 'Cannot release un-acquired lock' error when reasoning on inconsistent ontologies inside a 'with' statement\n - Fix bug when loading a property that refers to another property from a quadstore stored on disk\n - Fix RDF triple suppression with RDFlib when object is a datatype\n\nversion 2 - 0.17\n****************\n\n* SWRL rule support\n* Allows importing UMLS suppressed terms\n* Uncache entities when relaoding an ontology\n* Bugfixes:\n - Fix PyMedTermino2 installation\n - Fix data property value inferrence with debug = 1\n - Fix sort() in LazyList (thanks fiveop!)\n - Fix World.get() and add World.get_if_loaded()\n - Add appropriate error message when importing UMLS with Python 3.6\n - Fix individuals belonging to multiple, equivalent, classes after reasoning\n \nversion 2 - 0.18\n****************\n\n* Add UNIQUE constraints for preventing dupplicated RDF triples in the quadstore\n* Add Individual.INDIRECT_is_a / Individual.INDIRECT_is_instance_of\n* Add isinstance_python() (faster than isinstance(), but do not consider equivalent_to relations)\n* Bugfixes:\n - Force UTF-8 encoding when importing UMLS\n - Be more tolerant when loading OWL file\n \nversion 2 - 0.19\n****************\n\n* Consider symmetric properties as their own inverse properties\n* Update Python objects after basic SPARQL update/delete queries (works on user-defined properties, hierarchical properties (type/subclassof) and equivalence properties)\n* Add individual.INVERSE_property\n* Add Class.INDIRECT_is_a\n* INDIRECT_is_a / INDIRECT_is_instance_of now include class contructs. ancestors() has a 'include_constructs' parameter, which defaults to False.\n* Add more aliases for XMLSchema datatypes\n* Add is_a property to class constructs\n* Add bottomObjectProperty and bottomDataProperty\n* Support ReflexiveProperties in individual.INDIRECT_property\n* Optimize Thing.subclasses()\n* Optimize search() with multiple criteria, including those done by PyMedTermino\n* Add support for destroy_entity(SWRL_rule)\n* Add support for UMLS \"metathesaurus\" format in addition to \"full\" format\n* Bugfixes:\n - After reasoning, keep all equivalent classes as parents of individuals (as they may have methods)\n - Fix IndividualPropertyAtom when creating SWRL rule\n - Fix SWRL parser\n - Fix RDF serialization for nested RDF lists\n - Fix removing inverse property (i.e. Prop.inverse = None)\n - Fix datetime parsing for date with time zone or milliseconds\n \nversion 2 - 0.20\n****************\n\n* Add support for undoable destroy_entity()\n* Small database optimizations\n* No longer treat properties associated with exactly-1 or max-1 restriction as functional properties,\n returning single values instead of a list (you can restore the previous behaviour as follows:\n import owlready2.prop; owlready2.prop.RESTRICTIONS_AS_FUNCTIONAL_PROPERTIES = True)\n* Bugfixes:\n - Fix performance bug on UMLS mapping in PyMedTermino\n\nversion 2 - 0.21\n****************\n\n* Use Pellet 2.3.1 (same version as Prot\u00e9g\u00e9) instead of 2.4 (which has a bug in SWRL for many builtin predicates including equals and matches)\n* Much faster mangement of annotations on relations\n* Bugfixes:\n - Fix bug on blank node in RDFlib/SPARQL support\n - Fix bug on blank node deletion in RDFlib/SPARQL support\n - Fix data loss in Restriction modification\n - Fix 'no query solution' error in search()\n - Fix literal support in RDF lists, causing \"TypeError: '<' not supported between instances of 'NoneType' and 'int'\" when saving ontologies\n - Fix DifferentFrom SWRL builtin\n - Fix string parsing in SWRL rules\n - Fix string and boolean literal representation (str/repr) in SWRL rules\n - Fix the inverse of subproperties having a symmetric superproperty\n\n \nLinks\n-----\n\nOwlready2 on BitBucket (development repository): https://bitbucket.org/jibalamy/owlready2\n\nOwlready2 on PyPI (Python Package Index, stable release): https://pypi.python.org/pypi/Owlready2\n\nDocumentation: http://owlready2.readthedocs.io/\n\nForum/Mailing list: http://owlready.8326.n8.nabble.com\n\n\nContact \"Jiba\" Jean-Baptiste Lamy:\n\n::\n\n \n LIMICS\n University Paris 13, Sorbonne Paris Cite\n Bureau 149\n 74 rue Marcel Cachin\n 93017 BOBIGNY\n FRANCE\n", "description_content_type": "", "docs_url": "https://pythonhosted.org/Owlready2/", "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/jibalamy/owlready2", "keywords": "", "license": "LGPLv3+", "maintainer": "", "maintainer_email": "", "name": "Owlready2", "package_url": "https://pypi.org/project/Owlready2/", "platform": "", "project_url": "https://pypi.org/project/Owlready2/", "project_urls": { "Homepage": "https://bitbucket.org/jibalamy/owlready2" }, "release_url": "https://pypi.org/project/Owlready2/0.21/", "requires_dist": null, "requires_python": "", "summary": "A package for ontology-oriented programming in Python: load OWL 2.0 ontologies as Python objects, modify them, save them, and perform reasoning via HermiT. Includes an optimized RDF quadstore.", "version": "0.21" }, "last_serial": 5917708, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "1e9c43a07ccc5d8ec2eb5fd2d34cfb86", "sha256": "65889745bbff9e3b9c4015f5ecc312ccdb9793181c9773ad469382bd65a9d771" }, "downloads": -1, "filename": "Owlready2-0.1.tar.gz", "has_sig": false, "md5_digest": "1e9c43a07ccc5d8ec2eb5fd2d34cfb86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6701569, "upload_time": "2017-05-03T15:13:09", "url": "https://files.pythonhosted.org/packages/52/02/5a18f271c722919a315dff8418239ca8870eded2fecef3f104a0c0bcaee7/Owlready2-0.1.tar.gz" } ], "0.10": [ { "comment_text": "", "digests": { "md5": "8d73d538c7fe44a8e77c2a507f4dbf10", "sha256": "fd732e59a1152040ea8819b04ce6de09122e59f1546260ef379e9657b919bfc2" }, "downloads": -1, "filename": "Owlready2-0.10.tar.gz", "has_sig": false, "md5_digest": "8d73d538c7fe44a8e77c2a507f4dbf10", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7057546, "upload_time": "2018-09-17T19:52:59", "url": "https://files.pythonhosted.org/packages/f0/66/bd89eece05c2c211624e1ed66aaa0332fabe22e051f52dde863ac27158dd/Owlready2-0.10.tar.gz" } ], "0.11": [ { "comment_text": "", "digests": { "md5": "1b7930add7a0b6ab4eb3a9e2f264b882", "sha256": "b88a6c35397ed713366c91ffb9e4b89a721476cddbbde9a4a288cd9cc29eebbf" }, "downloads": -1, "filename": "Owlready2-0.11.tar.gz", "has_sig": false, "md5_digest": "1b7930add7a0b6ab4eb3a9e2f264b882", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23791831, "upload_time": "2018-11-02T11:45:29", "url": "https://files.pythonhosted.org/packages/0f/13/b66ec898f7fe9d0d84d32528db499ee89ef2a49909a10e42b8637ea216f1/Owlready2-0.11.tar.gz" } ], "0.12": [ { "comment_text": "", "digests": { "md5": "734c247dfc0d834f87489cf8e81d0795", "sha256": "b6418cc1e4373f252bd3787f70416bff64a422f76f41ef31a7bc88f1f05b785b" }, "downloads": -1, "filename": "Owlready2-0.12.tar.gz", "has_sig": false, "md5_digest": "734c247dfc0d834f87489cf8e81d0795", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23650119, "upload_time": "2018-12-06T11:36:23", "url": "https://files.pythonhosted.org/packages/54/49/ff64b01f708bcd6ed39ae5d87de57e61cd27f276ac48cd900d75a7ae8819/Owlready2-0.12.tar.gz" } ], "0.13": [ { "comment_text": "", "digests": { "md5": "ad26f0695fb7e805b9108b22a851c732", "sha256": "bdf0c1a7a17dce1bce180806166cff5f2d722ac196efbb41b8d040b2e77e74f1" }, "downloads": -1, "filename": "Owlready2-0.13.tar.gz", "has_sig": false, "md5_digest": "ad26f0695fb7e805b9108b22a851c732", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23652859, "upload_time": "2018-12-19T13:52:24", "url": "https://files.pythonhosted.org/packages/93/5a/5fa13de9cd0f2b15c85eba326e88b61373212afbca6c2682d7b49dd6cbf6/Owlready2-0.13.tar.gz" } ], "0.14": [ { "comment_text": "", "digests": { "md5": "a99b26a86882af0f494d2630cbf4d508", "sha256": "176e73eb9eff30635be68a1145920245d0330d947da9341344af0edb6e177856" }, "downloads": -1, "filename": "Owlready2-0.14.tar.gz", "has_sig": false, "md5_digest": "a99b26a86882af0f494d2630cbf4d508", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23788019, "upload_time": "2019-02-22T19:50:36", "url": "https://files.pythonhosted.org/packages/9a/01/455343646fcbdf3942ace14b17169c4fc5bc77fcb1860e5d4dc56b2de83d/Owlready2-0.14.tar.gz" } ], "0.15": [ { "comment_text": "", "digests": { "md5": "dc0ebbb2e4419d0e0892fd4c611e36be", "sha256": "1f6cf7742ae8a1d93c292cfad474b9cac59a72d096e3d1c95d73ed83ce7014ab" }, "downloads": -1, "filename": "Owlready2-0.15.tar.gz", "has_sig": false, "md5_digest": "dc0ebbb2e4419d0e0892fd4c611e36be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23792778, "upload_time": "2019-04-02T20:50:46", "url": "https://files.pythonhosted.org/packages/26/9e/27fb9474046f09624361e8e91db6a1c0fcd7bc4ea1709f9961055ec3e8fd/Owlready2-0.15.tar.gz" } ], "0.16": [ { "comment_text": "", "digests": { "md5": "8aae2906bd59c4f1fa158a597ae0b8d4", "sha256": "974933451effa0a01e0dc2a2948d6f61ddf4e0e015b930e148d6500f32ad1699" }, "downloads": -1, "filename": "Owlready2-0.16.tar.gz", "has_sig": false, "md5_digest": "8aae2906bd59c4f1fa158a597ae0b8d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23828533, "upload_time": "2019-04-25T20:14:32", "url": "https://files.pythonhosted.org/packages/6e/80/586b240d57b039ac6c79d0b257fcb874371472bc5cf97e002f57eb86ce33/Owlready2-0.16.tar.gz" } ], "0.17": [ { "comment_text": "", "digests": { "md5": "4165a77f0af4f34b776d545831a8192d", "sha256": "785867c935a4e2e2acbb4d280237837f4592065b594a7891e6edcdacf1aaf0ff" }, "downloads": -1, "filename": "Owlready2-0.17.tar.gz", "has_sig": false, "md5_digest": "4165a77f0af4f34b776d545831a8192d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23846163, "upload_time": "2019-05-22T12:36:55", "url": "https://files.pythonhosted.org/packages/6e/0e/816387e1c00c71564cd8df3d400a217e51d10fbd8a765c03621d6cedc890/Owlready2-0.17.tar.gz" } ], "0.18": [ { "comment_text": "", "digests": { "md5": "4f87d8e9d4b58301bbc73b8370a58f66", "sha256": "fe349eb6461cc9d21e7a3f06678433200f300a1ac608977d1d405d5fd9a94c3a" }, "downloads": -1, "filename": "Owlready2-0.18.tar.gz", "has_sig": false, "md5_digest": "4f87d8e9d4b58301bbc73b8370a58f66", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23846812, "upload_time": "2019-06-05T13:07:59", "url": "https://files.pythonhosted.org/packages/e5/32/7ea67a9348a9a49a14e04fb782c5cd65e6f7fd9be2bcc12523ab5eee379f/Owlready2-0.18.tar.gz" } ], "0.19": [ { "comment_text": "", "digests": { "md5": "797f9b164f6529e4bf70b2d7bce5dc3b", "sha256": "340fcf048217a3e68a18e82b66e1ed669c783e4f4048df0886a71a1f6b58f6dd" }, "downloads": -1, "filename": "Owlready2-0.19.tar.gz", "has_sig": false, "md5_digest": "797f9b164f6529e4bf70b2d7bce5dc3b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23852893, "upload_time": "2019-07-27T10:21:02", "url": "https://files.pythonhosted.org/packages/78/cd/a1cea4192bbabb64f69f2734608b717e869475ae5a79fbddd6482a622b4c/Owlready2-0.19.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "c4fd36eab9fa881394e53b837c541966", "sha256": "0ed582740a7389b2ea19151cb91c549198072f123576628b76d658614b739d3d" }, "downloads": -1, "filename": "Owlready2-0.2.tar.gz", "has_sig": false, "md5_digest": "c4fd36eab9fa881394e53b837c541966", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6716574, "upload_time": "2017-05-24T18:43:22", "url": "https://files.pythonhosted.org/packages/a8/39/064ceb21eb5cb8837d5d5b9b33bfca07b7a621d27daa3e4bf9c699099ae6/Owlready2-0.2.tar.gz" } ], "0.20": [ { "comment_text": "", "digests": { "md5": "bf73f87b678af4188e394dc8bdb069dc", "sha256": "3ad4549206b0d1958dc22d4d3c04441119dfea966a7f82b46900a334545c2c07" }, "downloads": -1, "filename": "Owlready2-0.20.tar.gz", "has_sig": false, "md5_digest": "bf73f87b678af4188e394dc8bdb069dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23854515, "upload_time": "2019-08-19T10:51:30", "url": "https://files.pythonhosted.org/packages/ed/da/8eee9e4f8845a757378dc3ae3de51751494609fef0ca315193d1ba198bec/Owlready2-0.20.tar.gz" } ], "0.21": [ { "comment_text": "", "digests": { "md5": "9c555d247af93807f9c3f12375b2c347", "sha256": "8d97ef218689127a4381f87786019ba0466810fd1c30d1eeab45a8804028674e" }, "downloads": -1, "filename": "Owlready2-0.21.tar.gz", "has_sig": false, "md5_digest": "9c555d247af93807f9c3f12375b2c347", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19989021, "upload_time": "2019-10-02T12:41:51", "url": "https://files.pythonhosted.org/packages/13/1d/d9efef926bddd80923196b20ca7ea433642de78d253784e73ce1cc22600e/Owlready2-0.21.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "7b65b4a1e9050d4dc7bafe7c1af17c80", "sha256": "a6ab8683720d76d478a0f2d002fb0565a06e3492923790ac84ef1531e95da829" }, "downloads": -1, "filename": "Owlready2-0.3.tar.gz", "has_sig": false, "md5_digest": "7b65b4a1e9050d4dc7bafe7c1af17c80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6720594, "upload_time": "2017-06-30T15:26:49", "url": "https://files.pythonhosted.org/packages/34/81/e9add1c87b55538eadf57f39bd92c1f69343ec741c97afa76e15b2e7e321/Owlready2-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "87342edc3f88e578b2b783c8b521c77b", "sha256": "8a4e7356701d1b4d236839e9b7514e1c2844f9b087f83e77d9ad8e2dd3bd23db" }, "downloads": -1, "filename": "Owlready2-0.4.tar.gz", "has_sig": false, "md5_digest": "87342edc3f88e578b2b783c8b521c77b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6731567, "upload_time": "2017-08-26T09:12:00", "url": "https://files.pythonhosted.org/packages/ed/f1/5bbd4e6fd4f0340a2bebdf74bb6235b096cdb6af58de6f1fbed26904c162/Owlready2-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "e23410f6c2f8f4cc2684bd5b6cc404e7", "sha256": "2af7ca96b5becb000815b13dbc72c0bba37ae7d9d526b02ea54255cbe56bd77d" }, "downloads": -1, "filename": "Owlready2-0.5.tar.gz", "has_sig": false, "md5_digest": "e23410f6c2f8f4cc2684bd5b6cc404e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6773649, "upload_time": "2017-12-16T16:19:09", "url": "https://files.pythonhosted.org/packages/68/75/0e8685339241f4650f43d2f754598bf38480d4501f6e420195567841e848/Owlready2-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "6d9ac3f20e18cce09fd9b39e03c27be5", "sha256": "185c3abe870458e1b751c105cf21aaed61f380f7f9974a34c55767fc3b16321a" }, "downloads": -1, "filename": "Owlready2-0.6.tar.gz", "has_sig": false, "md5_digest": "6d9ac3f20e18cce09fd9b39e03c27be5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6933291, "upload_time": "2018-05-16T12:02:25", "url": "https://files.pythonhosted.org/packages/4f/56/9a028ca5d8d6ebb773bda0f99b708c025dfcf50fb561ba394e66c84bb2e2/Owlready2-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "f08d53317b3472203102771a3bc1a561", "sha256": "e717298f18d40c95ab6e8bf74406e1f72227461df7141d45f286b7090e74fbe4" }, "downloads": -1, "filename": "Owlready2-0.7.tar.gz", "has_sig": false, "md5_digest": "f08d53317b3472203102771a3bc1a561", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6877766, "upload_time": "2018-05-16T12:39:23", "url": "https://files.pythonhosted.org/packages/bd/85/b723d26babdb73d11b0b6a7b7fea6d2f29b1629374bf5d340e7d58fb7efa/Owlready2-0.7.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "41b4ab65aafe8b69203aaae9ad4cf079", "sha256": "c30f9946d4866477ad9fb9b8c50ee62cafe67a51c3132f508f17187e807a75c5" }, "downloads": -1, "filename": "Owlready2-0.8.tar.gz", "has_sig": false, "md5_digest": "41b4ab65aafe8b69203aaae9ad4cf079", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6859719, "upload_time": "2018-05-16T13:25:49", "url": "https://files.pythonhosted.org/packages/2b/b2/2404c5c9411bed82b96c2ad54c1112105f31e26c0db40f181c77ef4739c2/Owlready2-0.8.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "6af5be7592f58c202a80fda510e398b8", "sha256": "95c7197c7e412a311d2f369375185ceb850146121e42893d3186598940a374f6" }, "downloads": -1, "filename": "Owlready2-0.9.tar.gz", "has_sig": false, "md5_digest": "6af5be7592f58c202a80fda510e398b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6881221, "upload_time": "2018-07-03T10:35:12", "url": "https://files.pythonhosted.org/packages/f4/de/6ce537d6da10f48e9fe8b37cbd403961767e87e0e48ad5ef94346d359c98/Owlready2-0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9c555d247af93807f9c3f12375b2c347", "sha256": "8d97ef218689127a4381f87786019ba0466810fd1c30d1eeab45a8804028674e" }, "downloads": -1, "filename": "Owlready2-0.21.tar.gz", "has_sig": false, "md5_digest": "9c555d247af93807f9c3f12375b2c347", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19989021, "upload_time": "2019-10-02T12:41:51", "url": "https://files.pythonhosted.org/packages/13/1d/d9efef926bddd80923196b20ca7ea433642de78d253784e73ce1cc22600e/Owlready2-0.21.tar.gz" } ] }