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.0.tar.gz
(28.5 kB
view hashes)
Built Distribution
Close
Hashes for statute_utils-0.6.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50976d6414820d9d6c6e51a8bc9694d60d52472d9501940ae503cd5528b1d467 |
|
MD5 | 1844075add56ec61cbfbaddb5623adf8 |
|
BLAKE2b-256 | e5e4512cd9c4ef1e90ec0fb5632070b89ed76753c93270ae26659d203131c2b8 |