# SOLI Python Library
![SOLI Logo](https://openlegalstandard.org/assets/images/soli-intro-logo.png)
[![PyPI version](https://badge.fury.io/py/soli-python.svg)](https://badge.fury.io/py/soli-python)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Python Versions](https://img.shields.io/pypi/pyversions/soli-python.svg)](https://pypi.org/project/soli-python/)
The SOLI Python Library provides a simple and efficient way to interact with the Standard for Open Legal Information (SOLI) ontology.
SOLI is an open, CC-BY licensed standard designed to represent universal elements of legal data, improving communication and data interoperability across the legal industry.
## Features
- Load the SOLI ontology from GitHub or a custom HTTP URL
- Search for classes by label or definition
- Get subclasses and parent classes
- Access detailed information about each class, including labels, definitions, and examples
- Convert classes to OWL XML or Markdown format
## Changelog
The changelog can be found at [CHANGES.md](CHANGES.md).
## Installation
You can install the SOLI Python library using pip:
```bash
pip install soli-python
```
For the latest development version, you can install directly from GitHub:
```bash
pip install --upgrade https://github.com/alea-institute/soli-python/archive/refs/heads/main.zip
```
## Quick Start
Here's a simple example to get you started with the SOLI Python library:
```python
from soli import SOLI
# Initialize the SOLI client
soli = SOLI()
# Search by prefix
results = soli.search_by_prefix("Mich")
for owl_class in results:
print(f"Class: {owl_class.label}")
# Search for a class by label
results = soli.search_by_label("Mich")
for owl_class, score in results:
print(f"Class: {owl_class.label}, Score: {score}")
# Get all areas of law
areas_of_law = soli.get_areas_of_law()
for area in areas_of_law:
print(area.label)
```
## Searching with an LLM
```python
# Search with an LLM
async def search_example():
for result in await soli.parallel_search_by_llm(
"redline lease agreement",
search_sets=[
soli.get_areas_of_law(max_depth=1),
soli.get_player_actors(max_depth=2),
],
):
print(result)
import asyncio
asyncio.run(search_example())
```
LLM search uses the `alea_llm_client` to provide abstraction across multiple APIs and providers.
## Documentation
For more detailed information about using the SOLI Python library, please refer to our [full documentation](https://soli-python.readthedocs.io/).
## Contributing
We welcome contributions to the SOLI Python library! If you'd like to contribute, please follow these steps:
1. Fork the repository
2. Create a new branch for your feature or bug fix
3. Make your changes and write tests if applicable
4. Run the test suite to ensure everything is working
5. Submit a pull request with a clear description of your changes
For more information, see our [contribution guidelines](CONTRIBUTING.md).
## SOLI API
A public, freely-accessible API is available for the SOLI ontology.
The API is hosted at [https://soli.openlegalstandard.org/](https://soli.openlegalstandard.org/).
The source code for the API is available on GitHub at [https://github.com/alea-institute/soli-api](https://github.com/alea-institute/soli-api).
## License
The SOLI Python library is released under the MIT License. See the [LICENSE](LICENSE) file for details.
## Support
If you encounter any issues or have questions about using the SOLI Python library, please [open an issue](https://github.com/alea-institute/soli-python/issues) on GitHub.
## Learn More
To learn more about SOLI, its development, and how you can get involved, visit the [SOLI website](https://openlegalstandard.org/) or join the [SOLI community forum](https://discourse.openlegalstandard.org/).
Raw data
{
"_id": null,
"home_page": "https://openlegalstandard.org/",
"name": "soli-python",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0.0,>=3.10",
"maintainer_email": null,
"keywords": "legal, information, standard, soli, open",
"author": "ALEA Institute",
"author_email": "hello@aleainstitute.ai",
"download_url": "https://files.pythonhosted.org/packages/07/1a/4bffa19ce1adcf4bb879df78c2c65611255d1ee5791d41715b12fc7da2d7/soli_python-0.1.5.tar.gz",
"platform": null,
"description": "# SOLI Python Library\n\n![SOLI Logo](https://openlegalstandard.org/assets/images/soli-intro-logo.png)\n\n[![PyPI version](https://badge.fury.io/py/soli-python.svg)](https://badge.fury.io/py/soli-python)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Python Versions](https://img.shields.io/pypi/pyversions/soli-python.svg)](https://pypi.org/project/soli-python/)\n\nThe SOLI Python Library provides a simple and efficient way to interact with the Standard for Open Legal Information (SOLI) ontology.\n\nSOLI is an open, CC-BY licensed standard designed to represent universal elements of legal data, improving communication and data interoperability across the legal industry.\n\n## Features\n\n- Load the SOLI ontology from GitHub or a custom HTTP URL\n- Search for classes by label or definition\n- Get subclasses and parent classes\n- Access detailed information about each class, including labels, definitions, and examples\n- Convert classes to OWL XML or Markdown format\n\n## Changelog\nThe changelog can be found at [CHANGES.md](CHANGES.md).\n\n## Installation\n\nYou can install the SOLI Python library using pip:\n\n```bash\npip install soli-python\n```\n\nFor the latest development version, you can install directly from GitHub:\n\n```bash\npip install --upgrade https://github.com/alea-institute/soli-python/archive/refs/heads/main.zip\n```\n\n## Quick Start\n\nHere's a simple example to get you started with the SOLI Python library:\n\n```python\nfrom soli import SOLI\n\n# Initialize the SOLI client\nsoli = SOLI()\n\n# Search by prefix\nresults = soli.search_by_prefix(\"Mich\")\nfor owl_class in results:\n print(f\"Class: {owl_class.label}\")\n\n# Search for a class by label\nresults = soli.search_by_label(\"Mich\")\nfor owl_class, score in results:\n print(f\"Class: {owl_class.label}, Score: {score}\")\n\n# Get all areas of law\nareas_of_law = soli.get_areas_of_law()\nfor area in areas_of_law:\n print(area.label)\n```\n\n## Searching with an LLM\n\n```python\n# Search with an LLM\nasync def search_example():\n for result in await soli.parallel_search_by_llm(\n \"redline lease agreement\",\n search_sets=[\n soli.get_areas_of_law(max_depth=1),\n soli.get_player_actors(max_depth=2),\n ],\n ):\n print(result)\n\nimport asyncio\nasyncio.run(search_example())\n```\n\nLLM search uses the `alea_llm_client` to provide abstraction across multiple APIs and providers.\n\n## Documentation\n\nFor more detailed information about using the SOLI Python library, please refer to our [full documentation](https://soli-python.readthedocs.io/).\n\n## Contributing\n\nWe welcome contributions to the SOLI Python library! If you'd like to contribute, please follow these steps:\n\n1. Fork the repository\n2. Create a new branch for your feature or bug fix\n3. Make your changes and write tests if applicable\n4. Run the test suite to ensure everything is working\n5. Submit a pull request with a clear description of your changes\n\nFor more information, see our [contribution guidelines](CONTRIBUTING.md).\n\n## SOLI API\nA public, freely-accessible API is available for the SOLI ontology.\n\nThe API is hosted at [https://soli.openlegalstandard.org/](https://soli.openlegalstandard.org/).\n\nThe source code for the API is available on GitHub at [https://github.com/alea-institute/soli-api](https://github.com/alea-institute/soli-api).\n\n\n## License\n\nThe SOLI Python library is released under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## Support\n\nIf you encounter any issues or have questions about using the SOLI Python library, please [open an issue](https://github.com/alea-institute/soli-python/issues) on GitHub.\n\n## Learn More\n\nTo learn more about SOLI, its development, and how you can get involved, visit the [SOLI website](https://openlegalstandard.org/) or join the [SOLI community forum](https://discourse.openlegalstandard.org/).\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python library for SOLI, the Standard for Open Legal Information",
"version": "0.1.5",
"project_urls": {
"Documentation": "https://openlegalstandard.org/docs/",
"Homepage": "https://openlegalstandard.org/",
"Repository": "https://github.com/alea-institute/soli-python"
},
"split_keywords": [
"legal",
" information",
" standard",
" soli",
" open"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "25729d869bd16046b6c9631b4845312bab3c43652f31ba96d157d2cb4c1e304c",
"md5": "fce54924fa8d152e77c339465b3ba8f4",
"sha256": "559bb290862b7f6ee2033099bb76a0cab620b8257ab4efcbd747054f16328d92"
},
"downloads": -1,
"filename": "soli_python-0.1.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fce54924fa8d152e77c339465b3ba8f4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0.0,>=3.10",
"size": 21496,
"upload_time": "2024-11-09T11:39:38",
"upload_time_iso_8601": "2024-11-09T11:39:38.055814Z",
"url": "https://files.pythonhosted.org/packages/25/72/9d869bd16046b6c9631b4845312bab3c43652f31ba96d157d2cb4c1e304c/soli_python-0.1.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "071a4bffa19ce1adcf4bb879df78c2c65611255d1ee5791d41715b12fc7da2d7",
"md5": "2a8abb17d2f40a924d86a9ad146e6036",
"sha256": "68661b82e667bc8a419605950b08ecb59c6399efa2dcca4dc52c48add18cbc6a"
},
"downloads": -1,
"filename": "soli_python-0.1.5.tar.gz",
"has_sig": false,
"md5_digest": "2a8abb17d2f40a924d86a9ad146e6036",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0.0,>=3.10",
"size": 21962,
"upload_time": "2024-11-09T11:39:39",
"upload_time_iso_8601": "2024-11-09T11:39:39.654231Z",
"url": "https://files.pythonhosted.org/packages/07/1a/4bffa19ce1adcf4bb879df78c2c65611255d1ee5791d41715b12fc7da2d7/soli_python-0.1.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-09 11:39:39",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "alea-institute",
"github_project": "soli-python",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "soli-python"
}