diff --git a/.github/workflows/python-push.yml b/.github/workflows/python-push.yml index f77ce4662..7b67962df 100644 --- a/.github/workflows/python-push.yml +++ b/.github/workflows/python-push.yml @@ -103,6 +103,11 @@ jobs: if: steps.core-version.outputs.core == 'true' run: | make docs-validate + - name: Recreate hatch test environment + shell: bash + run: | + hatch env remove hatch-test.py${{ matrix.python-version }} 2>/dev/null || true + hatch env create hatch-test.py${{ matrix.python-version }} - name: Pytest Fast if: steps.core-version.outputs.core != 'true' run: | @@ -151,6 +156,11 @@ jobs: - name: gen OSCAL models run: | make gen-oscal + - name: Recreate hatch test environment + shell: bash + run: | + hatch env remove hatch-test.py${{ matrix.python-version }} 2>/dev/null || true + hatch env create hatch-test.py${{ matrix.python-version }} - name: Run tests run: | make test diff --git a/README.md b/README.md index 4248867bc..be556a0a3 100644 --- a/README.md +++ b/README.md @@ -93,14 +93,17 @@ A collection of demos utilizing trestle can be found in the related project [com ### v4: stable (actively developed) - supports NIST OSCAL 1.2.1 as well as previous versions +- supports newly released Mapping Model ### v3: stable (maintenance mode) - supports NIST OSCAL 1.1.3 as well as previous versions +- limited support until June 30, 2026 ### v2: stable (deprecated) - supports NIST OSCAL 1.0.4 as well as previous versions +- no longer supported ## Community meetings and communications diff --git a/docs/index.md b/docs/index.md index 50ef07db1..1601d8fce 100644 --- a/docs/index.md +++ b/docs/index.md @@ -37,10 +37,11 @@ Trestle provides tooling to help orchestrate the compliance process across a num ## Important Note: -The current version of trestle 3.x supports NIST OSCAL 1.1.2. +The current version of trestle 4.x supports NIST OSCAL 1.2.1. Below shows trestle versions correspondence with OSCAL versions: ``` +trestle 4.x => OSCAL 1.2.1 trestle 3.x => OSCAL 1.1.2 trestle 2.x => OSCAL 1.0.4 trestle 1.x => OSCAL 1.0.2 @@ -51,46 +52,28 @@ Visit [pypi](https://pypi.org/project/compliance-trestle/#history) for trestle r ## Notes for install of current and older versions of trestle -#### Install of trestle 3.x +#### Install of trestle 4.x Use python 3.11. ``` python3.11 -m venv venv.trestle source venv.trestle/bin/activate -pip install compliance-trestle==3.6.0 -trestle version -Trestle version v3.6.0 based on OSCAL version 1.1.2 -``` - -#### Install of trestle 2.x - -Use python 3.10 or higher. - -``` -python3.10 -m venv venv.trestle -source venv.trestle/bin/activate -pip install compliance-trestle==2.6.0 +pip install compliance-trestle trestle version -Trestle version v2.6.0 based on OSCAL version 1.0.4 +Trestle version v4.0.0 based on OSCAL version 1.2.1 ``` -#### Install of trestle 1.x - -Use python 3.9. +#### Install of trestle 3.x -Due to dependency updates since the release of trestle 1.2.0, perform the following in your venv: +Use python 3.11. ``` -python3.9 -m venv venv.trestle +python3.11 -m venv venv.trestle source venv.trestle/bin/activate -pip install compliance-trestle==1.2.0 -pip uninstall pydantic -pip uninstall pydantic_core -pip install pydantic==1.10.2 -pip install requests +pip install compliance-trestle==3.6.0 trestle version -Trestle version v1.2.0 based on OSCAL version 1.0.2 +Trestle version v3.6.0 based on OSCAL version 1.1.2 ``` ## Why Trestle diff --git a/docs/reference/API/trestle/oscal/mapping.md b/docs/reference/API/trestle/oscal/mapping.md new file mode 100644 index 000000000..e6bbdd185 --- /dev/null +++ b/docs/reference/API/trestle/oscal/mapping.md @@ -0,0 +1,7 @@ +--- +title: trestle.oscal.mapping +description: Documentation for trestle.oscal.mapping module +--- + +::: trestle.oscal.mapping +handler: python diff --git a/docs/reference/API/trestle/tasks/csv_to_oscal_mc.md b/docs/reference/API/trestle/tasks/csv_to_oscal_mc.md new file mode 100644 index 000000000..78430e001 --- /dev/null +++ b/docs/reference/API/trestle/tasks/csv_to_oscal_mc.md @@ -0,0 +1,7 @@ +--- +title: trestle.tasks.csv_to_oscal_mc +description: Documentation for trestle.tasks.csv_to_oscal_mc module +--- + +::: trestle.tasks.csv_to_oscal_mc +handler: python diff --git a/docs/reference/API/trestle/tasks/csv_to_oscal_mc_utilities.md b/docs/reference/API/trestle/tasks/csv_to_oscal_mc_utilities.md new file mode 100644 index 000000000..de2606851 --- /dev/null +++ b/docs/reference/API/trestle/tasks/csv_to_oscal_mc_utilities.md @@ -0,0 +1,7 @@ +--- +title: trestle.tasks.csv_to_oscal_mc_utilities +description: Documentation for trestle.tasks.csv_to_oscal_mc_utilities module +--- + +::: trestle.tasks.csv_to_oscal_mc_utilities +handler: python diff --git a/pyproject.toml b/pyproject.toml index 232e62e1e..9066c4ab7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,8 +29,7 @@ classifiers = [ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.12" ] dependencies = [ "attrs", @@ -128,7 +127,7 @@ dependencies = [ ] [[tool.hatch.envs.hatch-test.matrix]] -python = ["3.10", "3.11", "3.12", "3.13"] +python = ["3.10", "3.11", "3.12"] [tool.hatch.envs.docs] features = ["docs"]