Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Generated from:
# https://github.com/zopefoundation/meta/tree/master/config/pure-python
# Generated with zope.meta (https://zopemeta.readthedocs.io/) from:
# https://github.com/zopefoundation/meta/tree/master/src/zope/meta/pure-python
#
# EditorConfig Configuration file, for more details see:
# http://EditorConfig.org
# https://EditorConfig.org
# EditorConfig is a convention description, that could be interpreted
# by multiple editors to enforce common coding conventions for specific
# file types
Expand All @@ -12,7 +12,7 @@
root = true


[*] # For All Files
[*]
# Unix-style newlines with a newline ending every file
end_of_line = lf
insert_final_newline = true
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Generated from:
# https://github.com/zopefoundation/meta/tree/master/config/pure-python
# Generated with zope.meta (https://zopemeta.readthedocs.io/) from:
# https://github.com/zopefoundation/meta/tree/master/src/zope/meta/pure-python
name: pre-commit

on:
Expand All @@ -21,10 +21,10 @@ jobs:
name: linting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: 3.x
python-version: '3.13'
- uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd #v3.0.1
with:
extra_args: --all-files --show-diff-on-failure
Expand Down
15 changes: 5 additions & 10 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Generated from:
# https://github.com/zopefoundation/meta/tree/master/config/pure-python
# Generated with zope.meta (https://zopemeta.readthedocs.io/) from:
# https://github.com/zopefoundation/meta/tree/master/src/zope/meta/pure-python
name: tests

on:
Expand All @@ -25,7 +25,6 @@ jobs:
config:
# [Python version, tox env]
- ["3.11", "release-check"]
- ["3.9", "py39"]
- ["3.10", "py310"]
- ["3.11", "py311"]
- ["3.12", "py312"]
Expand All @@ -43,12 +42,12 @@ jobs:
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
name: ${{ matrix.os[0] }}-${{ matrix.config[1] }}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Install uv + caching
# astral/setup-uv@7
uses: astral-sh/setup-uv@3259c6206f993105e3a61b142c2d97bf4b9ef83d
# astral/setup-uv@8.1.0
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b
with:
enable-cache: true
cache-dependency-glob: |
Expand All @@ -57,11 +56,7 @@ jobs:
python-version: ${{ matrix.config[0] }}
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Test
if: ${{ !startsWith(runner.os, 'Mac') }}
run: uvx --with tox-uv tox -e ${{ matrix.config[1] }}
- name: Test (macOS)
if: ${{ startsWith(runner.os, 'Mac') }}
run: uvx --with tox-uv tox -e ${{ matrix.config[1] }}-universal2
- name: Coverage
if: matrix.config[1] == 'coverage'
run: |
Expand Down
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Generated from:
# https://github.com/zopefoundation/meta/tree/master/config/pure-python
# Generated with zope.meta (https://zopemeta.readthedocs.io/) from:
# https://github.com/zopefoundation/meta/tree/master/src/zope/meta/pure-python
*.dll
*.egg-info/
*.profraw
Expand Down Expand Up @@ -28,5 +28,6 @@ lib64
log/
parts/
pyvenv.cfg
share/
testing.log
var/
13 changes: 7 additions & 6 deletions .meta.toml
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
# Generated from:
# https://github.com/zopefoundation/meta/tree/master/config/pure-python
# Generated with zope.meta (https://zopemeta.readthedocs.io/) from:
# https://github.com/zopefoundation/meta/tree/master/src/zope/meta/pure-python
[meta]
template = "pure-python"
commit-id = "72252845"
commit-id = "ba10c93f"

[python]
with-pypy = false
with-docs = true
with-sphinx-doctests = true
with-windows = true
with-future-python = true
with-future-python = false
with-macos = false
with-free-threaded-python = false

[tox]
use-flake8 = true
Expand Down Expand Up @@ -47,15 +48,15 @@ testenv-additional = [
" coverage combine",
" coverage html",
" coverage report -m --fail-under=100",
"depends = py39,py310,py311,py311-datetime,py312,py313,py314,coverage",
"depends = py310,py311,py311-datetime,py312,py313,py314,coverage",
]
coverage-command = "pytest --cov=src --cov=tests --cov-report= tests {posargs}"
coverage-setenv = [
"COVERAGE_FILE=.coverage",
]

[coverage]
fail-under = 97.2
fail-under = 97.1

[isort]
additional-sources = "{toxinidir}/tests"
Expand Down
11 changes: 6 additions & 5 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Generated from:
# https://github.com/zopefoundation/meta/tree/master/config/pure-python
# Generated with zope.meta (https://zopemeta.readthedocs.io/) from:
# https://github.com/zopefoundation/meta/tree/master/src/zope/meta/pure-python
minimum_pre_commit_version: '3.6'
repos:
- repo: https://github.com/pycqa/isort
rev: "7.0.0"
rev: "8.0.1"
hooks:
- id: isort
- repo: https://github.com/hhatto/autopep8
Expand All @@ -12,14 +12,15 @@ repos:
- id: autopep8
args: [--in-place, --aggressive, --aggressive]
- repo: https://github.com/asottile/pyupgrade
rev: v3.21.0
rev: v3.21.2
hooks:
- id: pyupgrade
args: [--py39-plus]
args: [--py310-plus]
- repo: https://github.com/isidentical/teyit
rev: 0.4.3
hooks:
- id: teyit
language_version: python3.13
- repo: https://github.com/PyCQA/flake8
rev: "7.3.0"
hooks:
Expand Down
4 changes: 2 additions & 2 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Generated from:
# https://github.com/zopefoundation/meta/tree/master/config/pure-python
# Generated with zope.meta (https://zopemeta.readthedocs.io/) from:
# https://github.com/zopefoundation/meta/tree/master/src/zope/meta/pure-python
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

Expand Down
5 changes: 4 additions & 1 deletion CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@ Changes
8.2 (unreleased)
----------------

- Nothing changed yet.
- Move package metadata from setup.py to pyproject.toml.

- Drop support for Python 3.9.


8.1 (2025-10-19)
----------------
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!--
Generated from:
https://github.com/zopefoundation/meta/tree/master/config/pure-python
Generated with zope.meta (https://zopemeta.readthedocs.io/) from:
https://github.com/zopefoundation/meta/tree/master/src/zope/meta/pure-python
-->
# Contributing to zopefoundation projects

Expand Down
4 changes: 2 additions & 2 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Generated from:
# https://github.com/zopefoundation/meta/tree/master/config/pure-python
# Generated with zope.meta (https://zopemeta.readthedocs.io/) from:
# https://github.com/zopefoundation/meta/tree/master/src/zope/meta/pure-python
include *.md
include *.rst
include *.txt
Expand Down
1 change: 0 additions & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,6 @@
# Intersphinx Mapping for Links between different Documentations
intersphinx_mapping = {
'python3': ('https://docs.python.org/3', None),
'python39': ('https://docs.python.org/3.9', None),
'python310': ('https://docs.python.org/3.10', None),
'python311': ('https://docs.python.org/3.11', None),
'python312': ('https://docs.python.org/3.12', None),
Expand Down
5 changes: 0 additions & 5 deletions docs/contributing/changes_from38to39.rst

This file was deleted.

6 changes: 0 additions & 6 deletions docs/contributing/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,6 @@ A (modified style) Copy of all Abstract Grammar Definitions for the Python versi
.. toctree::
:maxdepth: 2

changes_from38to39
changes_from39to310
changes_from310to311
changes_from311to312
Expand Down Expand Up @@ -241,7 +240,6 @@ Technical Backgrounds - Links to External Documentation
* `Python 3.12 AST`_ (EOL 2028-10)
* `Python 3.11 AST`_ (EOL 2027-10)
* `Python 3.10 AST`_ (EOL 2026-10)
* `Python 3.9 AST`_ (EOL 2025-10)

* `AST NodeVistiors Class`_
* `AST NodeTransformer Class`_
Expand Down Expand Up @@ -269,8 +267,6 @@ Todos

.. _`What's new in Python 3.10`: https://docs.python.org/3.10/whatsnew/3.10.html

.. _`What's new in Python 3.9`: https://docs.python.org/3.9/whatsnew/3.9.html

.. _`Status of Python Versions`: https://devguide.python.org/versions/

.. _`Concept of Immutable Types and Python Example`: https://en.wikipedia.org/wiki/Immutable_object#Python
Expand All @@ -295,8 +291,6 @@ Todos

.. _`Python 3.10 AST`: https://docs.python.org/3.10/library/ast.html#abstract-grammar

.. _`Python 3.9 AST`: https://docs.python.org/3.9/library/ast.html#abstract-grammar

.. _`AST NodeVistiors Class`: https://docs.python.org/3/library/ast.html#ast.NodeVisitor

.. _`AST NodeTransformer Class`: https://docs.python.org/3/library/ast.html#ast.NodeTransformer
Expand Down
2 changes: 1 addition & 1 deletion docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ RestrictedPython is not a sandbox system or a secured environment, but it helps
Supported Python versions
=========================

RestrictedPython supports CPython 3.9 up to 3.14.
RestrictedPython supports CPython 3.10 up to 3.14.
It does _not_ support PyPy or other alternative Python implementations.

Contents
Expand Down
63 changes: 58 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,20 +1,69 @@
#
# Generated from:
# https://github.com/zopefoundation/meta/tree/master/config/pure-python

# Generated with zope.meta (https://zopemeta.readthedocs.io/) from:
# https://github.com/zopefoundation/meta/tree/master/src/zope/meta/pure-python
[build-system]
requires = [
"setuptools >= 78.1.1,< 81",
"wheel",
]
build-backend = "setuptools.build_meta"


[project]
name = "RestrictedPython"
version = "8.2.dev0"
description = "RestrictedPython is a defined subset of the Python language which allows to provide a program input into a trusted environment."
license = "ZPL-2.1"
classifiers = [
"Development Status :: 6 - Mature",
"Programming Language :: Python",
"Operating System :: OS Independent",
"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.14",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: Security",
]
dynamic = ["readme"]
requires-python = ">=3.10, <3.15"
authors = [
{name = "Zope Foundation and contributors",email = "zope-dev@zope.dev"},
]
maintainers = [
{name = "Plone Foundation and contributors",email = "zope-dev@zope.dev"},
]
keywords = [
"restricted",
"execution",
"security",
"untrusted",
"code",
]

[project.optional-dependencies]
test = [
"pytest",
"pytest-mock",
]
docs = [
"Sphinx",
"furo",
]

[project.urls]
Documentation = "https://restrictedpython.readthedocs.io/"
Issues = "https://github.com/zopefoundation/RestrictedPython/issues"
Source = "https://github.com/zopefoundation/RestrictedPython"
Changelog = "https://github.com/zopefoundation/RestrictedPython/blob/master/CHANGES.rst"

[tool.coverage.run]
branch = true
source = ["RestrictedPython"]

[tool.coverage.report]
fail_under = 97.2
fail_under = 97.1
precision = 2
ignore_errors = true
show_missing = true
Expand All @@ -31,3 +80,7 @@ exclude_lines = [

[tool.coverage.html]
directory = "parts/htmlcov"

[tool.setuptools.dynamic]
readme = {file = ["README.rst", "CHANGES.rst"]}

4 changes: 2 additions & 2 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Generated from:
# https://github.com/zopefoundation/meta/tree/master/config/pure-python
# Generated with zope.meta (https://zopemeta.readthedocs.io/) from:
# https://github.com/zopefoundation/meta/tree/master/src/zope/meta/pure-python

[flake8]
doctests = 1
Expand Down
Loading
Loading