Skip to main content

Law mostly consists of tree-like nodes. This package supports a common tree format for Philippine Codifications, Statutes, and Documents, using a uniform node structure (i.e., leaves of a tree) identified by a given material path.

Project description

Statute Trees

Prerequisite

To add a new statute-pattern that will get recognized, update the statute-patterns library. This enables the Rule mechanism, a pre-requisite to utilizing the StatuteBase pydantic model. Trees are a crucial cog in the corpus-x library.

Rules

Rules are tree-based. This library facilitates the creation of codifications, statutes, and documents in the form of trees.

trees=CodeUnit(
        item='Modern Child and Youth Welfare Code',
        caption=None,
        content=None,
        id='1.',
        history=None,
        units=[
            CodeUnit(
                item='Title I',
                caption='General Principles',
                content=None,
                id='1.1.',
                history=None,
                units=[
                    CodeUnit(
                        item='Article 1',
                        caption='Declaration of Policy.',
                        content=None,
                        id='1.1.1.',
                        history=None,
                        units=[
                            CodeUnit(
                                item='Paragraph 1',
                                caption=None,
                                content='The Child is one of the most important assets of the nation. Every effort should be exerted to promote his welfare and enhance his opportunities for a useful and happy life.',
                                id='1.1.1.1.',
                                history=None,
                                units=[]
                            ),
                            CodeUnit(
                                item='Paragraph 2',
                                caption=None,
                                content='The child is not a mere creature of the State. Hence, his individual traits and aptitudes should be cultivated to the utmost insofar as they do not conflict with the general welfare.',
                                id='1.1.1.2.',
                                history=None,
                                units=[]
                            ),
                        ]
                    )
                ]
            )
        ]
    ... # sample excludes the rest of the tree
)

Categories

We'll concern ourselves with 3 distinct categorizations of trees as they apply to Philippine law:

  1. Codification Trees
  2. Statute Trees
  3. Document Trees

Each of these trees rely on a similar Node structure consisting of the following fields:

class Node:
    item: str
    caption: str
    content: str

If we imagine this to be the root of the tree, it can branch out using a units key like so:

>>> data = [
        {
            "item": "Preliminary Title",
            "units": [
                {
                    "item": "Chapter 1",
                    "caption": "Effect and Application of Laws",
                    "units": [
                        {
                            "item": "Article 1",
                            "content": 'This Act shall be known as the "Civil Code of the Philippines." (n)\n',
                        },
                        {
                            "item": "Article 2",
                            "content": "Laws shall take effect after fifteen days following the completion of their publication either in the Official Gazette or in a newspaper of general circulation in the Philippines, unless it is otherwise provided. (1a)\n",
                        },
                    ],
                }
            ],
        }
    ]

Since each branch needs to be validated, i.e. have the correct type of information per field. We utilize Pydantic for each of the main categories.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

statute_trees-0.0.20.tar.gz (13.5 kB view hashes)

Uploaded Source

Built Distribution

statute_trees-0.0.20-py3-none-any.whl (15.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page