Philippine statutory law pattern matching and unit retrieval.
Project description
statute-utils
Philippine statutory law pattern matching and unit retrieval; utilized in LawSQL dataset.
Documentation
See documentation.
Development
Checkout code, create a new virtual environment:
poetry add statute-utils # python -m pip install statute-utils
poetry update # install dependencies
poetry shell
Some unit patterns
{
"units": [
{
"item": "Container 1",
"content": "Appropriation laws are excluded.",
}
]
}
UNITS_NONE = [
{
"item": "Container 1",
"content": "Individual provisions not detected.",
}
]
Use in Datasette
Add units to a database from a pre-made file
Consider an example db.sqlite
:
>>> from sqlite_utils import Database
>>> from statute_utils import Statute
>>> f = Path().joinpath(path-to-file.yml)
>>> db = Database('db.sqlite')
>>> db["statutes"].insert(Statute.from_file(f).make_row())
# this will contain an 'html' column containing a semantic tree structure that can be styled via css
Copy html/css files
tree.html
- Tree-building macros (which can be used for creating an html tree to represent the statute)tree.css
- Sample css rulesets to use for the tree generated with the macros
Copy files to the Jinja environment where these can be reused:
- /app
--|
|--/static
|--tree.css # copy it here
|--/templates
|--tree.html # copy it here
|--db.sqlite
When datasette is served with:
datasette serve db.sqlite --template-dir=app/templates/ --static static:app/static
It becomes possible to import the macros file into a future files:
{% from 'tree.html' import create_branches %}
{{ create_branches(units|from_json) }} {# note that from_json is custom filter added in the Datasette environment as a one-off plugin}
Add filters / custom functions
Create a file in the plugins directory:
- /app
- /app
--|
|--/static
|--tree.css
|--/templates
|--tree.html
|--/plugins
|--tree.py # new
|--db.sqlite
When datasette is served with:
datasette serve db.sqlite --plugins-dir=app/plugins/ {# plus the other arguments #}...
It becomes possible to use custom functions and filters found in tree.py
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
statute_utils-0.6.1.tar.gz
(28.6 kB
view hashes)
Built Distribution
Close
Hashes for statute_utils-0.6.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5476fd0aae66c6ffba33e754b6c5477c1a10e5acf19590b19c0518b0bf635725 |
|
MD5 | f49a849f9e3844a27983506d6343eb39 |
|
BLAKE2b-256 | 819fab8a918c4d34d04251c8efd00cb02a1eab96446f4ec83170f1bbd26f8ec3 |