lexifina/romania-law

Data

Turn Romanian legal acts into a Git history, with one file per article and one commit per change on its effective date.

111
5
Python
NOASSERTION
3 days old

What it is

This repository stores selected Romanian legal texts as a git history. Each article is a separate Markdown file; each change is a commit dated at noon, Europe/Bucharest, on the day it took effect, with the amending act as the commit author. That design lets git blame identify the act behind a paragraph, git log trace an article's changes, and a checkout show the text in force on a given date. The texts remain in Romanian, as published.

The current corpus contains the Constitution, the Civil Code, the Criminal Code, the Civil Procedure Code, the Criminal Procedure Code, the Labour Code, the Fiscal Code, the Administrative Code, GDPR implementing Law no. 190/2018, Company Law no. 31/1990, and Administrative Litigation Law no. 554/2004. The folder structure follows the multi-country global-law design, placing Romania under ro/.

Getting started

Clone the repository, then ask for an article as it stood on a date. The built-in tool is the simplest route:

git clone https://github.com/lexifina/romania-law.git
cd romania-law
python tools/in_vigoare_la.py 2014-10-18 codul-civil 1112

The first argument is the date, the second the act folder, and the optional third an article number. Inserted articles use the portal's numbering: article 112^1 is the file art-112-1.md, and the tool also accepts 112^1.

With raw git, the equivalent query is:

git show $(git rev-list -1 --before="2014-10-18T23:59:59Z" main -- codul-civil/art-1112.md):codul-civil/art-1112.md

Using --before="YYYY-MM-DD" without a time of day can miss a change that took effect that day, because the current clock time is used. Add T23:59:59Z, or use the Python tool. Other common queries include git blame codul-penal/art-336.md for paragraph-level authorship, git log -p --word-diff codul-penal/art-297.md for word-level change history, and git show law/legea-200-2023 for everything one act changed. Act commits are tagged law/<key> and consolidated forms are tagged <act>/<in-force day>; after a rebuild, refresh tags with git fetch --force --tags, since a plain fetch keeps stale tags. The full command table is in the README.

Coverage and dating

The repository is not current to the day. Each act's latest held form is listed in its folder README, and amendments that took effect after that form may be missing. For example, the newest Civil Code form held is 3 May 2026, the newest Fiscal Code form is 8 August 2026, and GDPR Law no. 190/2018 stops at 1 December 2019.

Dates come from the Portalul legislativ's consolidated forms and their amendment notes. The general rule is Constitution article 78: a law takes effect three days after publication in the Monitorul Oficial, or on a later date it specifies. The portal's dates already account for this rule and for each law's own commencement date. Enactment and publication dates are stored as commit trailers, while the in-force day is in the In-force: trailer that the tools read.

Some periods have known gaps. The Criminal Procedure Code's 2 March 2017 form has no text on the portal, so its changes appear with the following form. Company Law no. 31/1990 has no form between 4 June 1991 and its 1998 republication, so changes from those years appear together and are not credited to individual acts. Four Fiscal Code forms from 2026 are missing, so their changes appear with the next form held.

What is and is not represented

The history covers only articles: books, titles, chapters and section headings are not files. Editorial notes, including the portal's "Notă" boxes and the amendment notes themselves, are excluded from the text. Interpretive High Court rulings and Constitutional Court decisions that left the wording unchanged are not commits. The Administrative Code is included without its annexes. Commencement and applicability conditions found in transitional provisions remain in the text; no separate applicability data is recorded.

Blame credits whole lines, with each paragraph on one line. In articles amended by several acts, git log -p --word-diff is the reliable way to see which words changed. Changes that the portal's notes do not explain are committed under the publisher's name and labelled "unexplained"; they include diacritic corrections and typesetting differences between forms.

Sources and verification

The text comes from the Ministry of Justice's Portalul legislativ, accessed through Internet Archive captures because the portal and its SOAP web service closed connections from the build network. Each version carries the capture URL and a SHA-256 of the parsed page. The repository is rebuilt from the same corpus and must produce identical commit hashes; tools/check_repo.py reads every version back on the day it took effect and the day before, with results in REPRODUCE.md. The newest form of several acts was also compared article by article against a second, separate capture. The Fiscal Code, which had only one capture for its newest form, was checked against the legalize-ro reproduction for 1 March 2026: 632 of 636 articles matched line for line.

Licence and scope

Romanian copyright law excludes official legislative texts from protection (Law no. 8/1996, article 9(b)). The arrangement, tables, commit messages and tools are by Lexifina under the terms in LICENSE. The repository is not an official publication and is not legal advice. Its data comes from a specific publication source and does not replace the official Monitorul Oficial.

HotRepo's take

The only recorded ranking is a new snapshot on 1 November 2026 under the Python list: 106 stars, 5 forks, and 5 stars gained during a two-hour observation window. Between 09:45 and 11:45 UTC that day, the sampled star count rose from 101 to 106, so the early interest is real but very short-windowed. There is no all-language daily rank on record and no Hacker News discussion, so the snapshot supports attention around launch, not a trend or broader adoption. For its intended audience, the more relevant signal is the verification work described above: reproducible hashes, date checks, and second-capture comparisons are the parts that make this history usable for legal research, more than the star count.

Written by AI from the project's README, updated . The project's own docs are the source of truth.