Expand description
§Legalis-MX: Mexican Law Library
Comprehensive Mexican legal framework implementation in Pure Rust.
§Overview
Mexico operates under a Civil Law system, based on the Romano-Germanic tradition with influences from Spanish colonial law and French civil code.
This library provides validation, types, and utilities for key Mexican legislation:
| Domain | Law | Year | Key Provisions |
|---|---|---|---|
| Civil | Código Civil Federal | 1928 | Persons, property, obligations, contracts |
| Criminal | Código Penal Federal | 1931 | Criminal offenses and penalties |
| Labor | Ley Federal del Trabajo | 1970 | 8h/day, aguinaldo (15 days), vacations |
| Tax | Código Fiscal de la Federación | 1981 | Tax obligations and procedures |
| Data Protection | LFPDPPP | 2010 | ARCO rights, privacy notices |
| Corporate | LGSM | 1934 | SA, SRL, and other company types |
| IP | Ley de Propiedad Industrial | 1991 | Patents, trademarks, designs |
| Competition | LFCE | 2014 | Antitrust, market concentration |
§Mexican Legal Citation Format
Mexican citations follow a specific format:
[Law Name], Artículo [article], fracción [fraction]§Examples
use legalis_mx::citation::*;
// Federal Civil Code
let ccf = format_civil_code_citation(1792, None, None);
assert_eq!(ccf, "Código Civil Federal, Artículo 1792");
// Labor Law with fraction
let lft = format_labor_law_citation(61, None, Some(RomanNumeral::I));
assert_eq!(lft, "Ley Federal del Trabajo, Artículo 61, fracción I");
// Constitution
let const_cite = format_constitution_citation(123, Some('A'), Some(RomanNumeral::VI));
assert_eq!(
const_cite,
"Constitución Política de los Estados Unidos Mexicanos, Artículo 123, Apartado A, fracción VI"
);§Currency: Mexican Peso (MXN)
use legalis_mx::common::MexicanCurrency;
let salary = MexicanCurrency::from_pesos(300); // Daily minimum wage
assert_eq!(salary.pesos(), 300);
let amount = MexicanCurrency::from_centavos(150050);
assert_eq!(amount.pesos(), 1500);
assert_eq!(amount.cents(), 50);§Document Validation (RFC/CURP/NSS)
use legalis_mx::common::{validate_rfc, validate_curp, validate_nss};
// RFC - Tax ID (12-13 characters)
assert!(validate_rfc("XAXX010101000").is_ok());
// CURP - Population Registry ID (18 characters)
assert!(validate_curp("XAXX010101HDFRRL00").is_ok());
// NSS - Social Security Number (11 digits)
assert!(validate_nss("12345678901").is_ok());§Mexican States
use legalis_mx::common::MexicanState;
let cdmx = MexicanState::CMX;
assert_eq!(cdmx.nombre_es(), "Ciudad de México");
assert_eq!(cdmx.region_es(), "Centro");
let nle = MexicanState::NLE;
assert_eq!(nle.nombre_es(), "Nuevo León");
assert_eq!(nle.region_es(), "Noreste");§Key Legal Principles
§Civil Code
| Provision | Details |
|---|---|
| Legal Capacity | Full capacity at 18 years (Article 646) |
| Contracts | Consent, lawful object, consideration (Article 1794) |
| Property | Ownership, possession, usufruct |
§Labor Law
| Provision | Details |
|---|---|
| Working Hours | 8h/day maximum (Article 61) |
| Aguinaldo | 15 days minimum, paid before Dec 20 (Article 87) |
| Vacation | 12 days (1st year) + 25% premium (Articles 76, 80) |
| Profit Sharing | PTU - 10% of profits (Article 117) |
§Tax Law
| Tax | Rate | Details |
|---|---|---|
| ISR | 30% (corporate) | Income tax |
| IVA | 16% (standard) | Value added tax |
| IEPS | Variable | Special production tax |
§Data Protection (LFPDPPP)
| Aspect | Details |
|---|---|
| ARCO Rights | Access, Rectification, Cancellation, Opposition |
| Privacy Notice | Required for all data collection |
| Consent | Explicit consent for sensitive data |
§Bilingual Support
All types support both Spanish (authoritative) and English translations:
use legalis_mx::common::MexicanState;
let state = MexicanState::JAL;
assert_eq!(state.nombre_es(), "Jalisco"); // Spanish (authoritative)§Module Structure
citation- Mexican legal citation formattingcommon- Currency, dates, documents, states, holidayscivil_code- Federal Civil Code (persons, property, obligations, contracts)criminal_code- Federal Criminal Codelabor_law- Federal Labor Law (working hours, aguinaldo, vacation)tax_law- Tax Code (ISR, IVA, IEPS)data_protection- LFPDPPP data protection lawcompany_law- LGSM company law (SA, SRL)intellectual_property- Industrial Property Lawcompetition_law- LFCE economic competition lawreasoning- Legal reasoning and interpretation
§References
Re-exports§
pub use citation::MexicanCitation;pub use citation::RomanNumeral;pub use citation::format_civil_code_citation;pub use citation::format_constitution_citation;pub use citation::format_criminal_code_citation;pub use citation::format_isr_citation;pub use citation::format_iva_citation;pub use citation::format_labor_law_citation;pub use citation::format_lfce_citation;pub use citation::format_lfpdppp_citation;pub use citation::format_lgsm_citation;pub use citation::format_tax_code_citation;pub use citation::to_roman_numeral;pub use common::DocumentError;pub use common::DocumentType;pub use common::FederalHoliday;pub use common::MexicanCurrency;pub use common::MexicanDate;pub use common::MexicanDocument;pub use common::MexicanState;pub use common::Municipality;pub use common::get_federal_holidays;pub use common::is_federal_holiday;pub use common::minimum_wage;pub use common::uma;pub use common::validate_curp;pub use common::validate_nss;pub use common::validate_rfc;pub use civil_code::Breach;pub use civil_code::BreachType;pub use civil_code::ConsentDefect;pub use civil_code::Contract;pub use civil_code::ContractError;pub use civil_code::ContractType;pub use civil_code::DoObligation;pub use civil_code::EntityType;pub use civil_code::GiveObligation;pub use civil_code::ImmovableProperty;pub use civil_code::JuridicalPerson;pub use civil_code::LegalCapacity;pub use civil_code::MovableProperty;pub use civil_code::NaturalPerson;pub use civil_code::NotDoObligation;pub use civil_code::ObligationError;pub use civil_code::ObligationSource;pub use civil_code::ObligationType;pub use civil_code::OwnershipType;pub use civil_code::Party;pub use civil_code::PartyRole;pub use civil_code::PerformanceStatus;pub use civil_code::PersonError;pub use civil_code::PersonType;pub use civil_code::PropertyError;pub use civil_code::PropertyRight;pub use civil_code::PropertyType;pub use civil_code::RightType;pub use civil_code::Term;pub use civil_code::ValidityRequirements;pub use criminal_code::CriminalError;pub use criminal_code::CriminalOffense;pub use criminal_code::CriminalResponsibility;pub use criminal_code::OffenseClassification;pub use criminal_code::PenaltyRange;pub use labor_law::EmploymentContract;pub use labor_law::EmploymentType;pub use labor_law::LaborRight;pub use labor_law::LaborValidationError;pub use labor_law::MINIMUM_DAYS;pub use labor_law::VACATION_PREMIUM_PERCENT;pub use labor_law::WorkDayType;pub use labor_law::WorkSchedule;pub use labor_law::WorkingHoursError;pub use labor_law::calculate_aguinaldo;pub use labor_law::calculate_overtime;pub use labor_law::calculate_proportional;pub use labor_law::calculate_total_vacation_compensation;pub use labor_law::get_vacation_days;pub use labor_law::limits;pub use labor_law::validate_employment_contract;pub use labor_law::validate_schedule;pub use tax_law::BORDER_RATE;pub use tax_law::CORPORATE_TAX_RATE;pub use tax_law::IEPSCategory;pub use tax_law::IVARate;pub use tax_law::STANDARD_RATE;pub use tax_law::TAX_BRACKETS;pub use tax_law::TaxObligation;pub use tax_law::TaxPeriod;pub use tax_law::TaxType;pub use tax_law::TaxValidationError;pub use tax_law::Taxpayer;pub use tax_law::TaxpayerType;pub use tax_law::ZERO_RATE;pub use tax_law::calculate_corporate_isr;pub use tax_law::calculate_ieps;pub use tax_law::calculate_individual_isr;pub use tax_law::calculate_iva;pub use tax_law::calculate_sugary_drinks_ieps;pub use tax_law::calculate_with_iva;pub use tax_law::extract_iva_from_total;pub use tax_law::validate_taxpayer;pub use data_protection::ARCORight;pub use data_protection::DataCategory;pub use data_protection::DataProtectionError;pub use data_protection::DataSubject;pub use data_protection::LegalBasis;pub use data_protection::PersonalDataProcessing;pub use data_protection::PrivacyNotice;pub use company_law::CompanyError;pub use company_law::CompanyType;pub use company_law::GovernanceRequirements;pub use company_law::LimitedLiabilityCompany;pub use company_law::StockCorporation;pub use company_law::VariableCapitalCompany;pub use intellectual_property::Copyright;pub use intellectual_property::IPError;pub use intellectual_property::IPType;pub use intellectual_property::IndustrialDesign;pub use intellectual_property::Patent;pub use intellectual_property::PatentType;pub use intellectual_property::Trademark;pub use intellectual_property::TrademarkType;pub use intellectual_property::WorkType;pub use intellectual_property::protection_duration;pub use competition_law::AbsolutePractice;pub use competition_law::AnticompetitivePractice;pub use competition_law::CompetitionError;pub use competition_law::ConcentrationType;pub use competition_law::MarketConcentration;pub use competition_law::MarketParticipant;pub use competition_law::RelativePractice;pub use competition_law::thresholds;pub use reasoning::InterpretationMethod;pub use reasoning::LegalPrinciple;pub use reasoning::LegalReasoning;pub use reasoning::principles;
Modules§
- citation
- Mexican Legal Citation Format
- civil_
code - Federal Civil Code (Código Civil Federal)
- common
- Common Mexican legal utilities
- company_
law - Company Law (Ley General de Sociedades Mercantiles - LGSM)
- competition_
law - Federal Economic Competition Law (Ley Federal de Competencia Económica - LFCE)
- criminal_
code - Federal Criminal Code (Código Penal Federal)
- data_
protection - Data Protection Law (Ley Federal de Protección de Datos Personales en Posesión de los Particulares - LFPDPPP)
- intellectual_
property - Intellectual Property Law
- labor_
law - Federal Labor Law (Ley Federal del Trabajo)
- reasoning
- Legal reasoning and interpretation for Mexican law
- tax_law
- Tax Law (Código Fiscal de la Federación and related laws)