Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge 5.0.x into master #244

Merged
merged 25 commits into from
Sep 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
e94bcce
#226 - first attempt with github actions
Jan 17, 2023
58d179e
#226 - remove linting failures that we know will trigger due to pytho…
Jan 17, 2023
2d00b02
#226 - installing coverage in ci/cd
Jan 17, 2023
3b55305
#226 - just tests, no coverage for now
Jan 17, 2023
1938986
#226 - installing via ``setup.py develop`` (for now)
Jan 17, 2023
71e035c
#226 - installed package dependencies via pip -e
Jan 17, 2023
6e7c6a9
#226 - attempting to add "all" python versions to testing matrix
Jan 17, 2023
b676daf
#226 - attempting to test across multiple python version/operating sy…
Jan 17, 2023
bd601f2
#226 - fails-fast -> fail-fast
Jan 17, 2023
aa6cb30
#226 - trimming to the versions that github supports
Jan 17, 2023
586c45d
#225 - removing dead links from top-level README.md
Jan 17, 2023
fb33cc3
#225 - changed 1 link in rest docs
Jan 17, 2023
4e1c935
#225 - added changelog
Jan 17, 2023
178ba90
#143 - license dates and people standardized
Jan 17, 2023
3323078
#128, #203 - re-implement the move to a configobj package done in master
Jan 17, 2023
a2fdf3b
#128 - update tests with new way to run it
Jan 17, 2023
ea390db
#213 - bumping version to 5.0.7
Jan 17, 2023
500cdaa
#213 - adding gztar to the sdist version
Jan 17, 2023
dc720ac
#230 - allow importing validate directly to still work
Jan 18, 2023
17ff246
#230 - changed how validate shim import is done and the associated un…
Jan 18, 2023
97325b9
#230 - prepping for a 5.0.8 tag
Jan 18, 2023
a82ea8f
Address CVE-2023-26112 ReDoS
cdcadman May 17, 2023
7c618b0
Merge pull request #236 from cdcadman/cve_2023_26112
jelmer Sep 17, 2024
4ab8e68
Merge branch '5.0.x' of https://github.com/diffsk/configobj into master
jelmer Sep 17, 2024
2bb5a5c
Merge in recent 5.0.x, with Python 2 support dropped.
jelmer Sep 17, 2024
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
56 changes: 56 additions & 0 deletions .github/workflows/python-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Python package

on: [push]

jobs:
build-on-latest:

runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]

steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest coverage pytest-cov mock
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
pip install -e .
- name: Test with pytest
run: |
python src/tests/configobj_doctests.py
python -m configobj.validate
py.test -c setup.cfg --color=yes --cov=configobj --cov-report=term --cov-report=html --cov-report=xml


build-on-legacy:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
python-version: [ "3.6" ]

steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest coverage pytest-cov mock
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
pip install -e .
- name: Test with pytest
run: |
python src/tests/configobj_doctests.py
python -m configobj.validate
py.test -c setup.cfg --color=yes --cov=configobj --cov-report=term --cov-report=html --cov-report=xml
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,6 @@ MANIFEST

# Other stuff
.cache/

# Backup files
*~
23 changes: 0 additions & 23 deletions .travis.yml

This file was deleted.

13 changes: 13 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,19 @@ Release 5.1.0
* docs: Explicit mention of ``force_list`` and its pitfalls (#112)


=======
Release 5.0.8
"""""""""""""

* fixing/test for a regression introduced in 5.0.7 that prevented ``import validate`` from working


Release 5.0.7
"""""""""""""

* update testing to validate against python version 2.7 and 3.5-3.11
* update broken links / non-existent services and references

Older Releases
""""""""""""""

Expand Down
9 changes: 5 additions & 4 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
Copyright (c):
2003-2010, Michael Foord
2014, Eli Courtwright, Rob Dennis
2003-2010, Michael Foord, Nicola Larosa
2014-2023, Eli Courtwright, Rob Dennis
All rights reserved.
E-mails :
fuzzyman AT voidspace DOT org DOT uk
michael AT python DOT org
nico AT tekNico DOT net
eli AT courtwright DOT org
rdennis AT gmail DOT com

Expand All @@ -12,7 +13,7 @@ Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:


2014
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

Expand Down
75 changes: 23 additions & 52 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,67 +1,38 @@
# configobj
[![Build Status](https://travis-ci.org/DiffSK/configobj.svg?branch=master)](https://travis-ci.org/DiffSK/configobj)
[![Coverage Status](https://img.shields.io/coveralls/DiffSK/configobj.svg)](https://coveralls.io/r/DiffSK/configobj?branch=master)
[![PyPI version](http://img.shields.io/pypi/v/configobj.svg)](https://pypi.python.org/pypi/configobj)
[![License](https://img.shields.io/badge/license-BSD_3--clause-red.svg)](https://github.com/DiffSK/configobj/blob/master/LICENSE)


Python 3+ compatible port of the [configobj](https://pypi.python.org/pypi/configobj/) library.

The Github CI/CD Pipeline runs tests on python versions:
- 3.6
- 3.7
- 3.8
- 3.9
- 3.10
- 3.11


## Documentation

You can find a full manual on how to use ConfigObj at [readthedocs](http://configobj.readthedocs.io/).
If you want to *work on the project*, please see the [Contributing](#contributing) section below.


## Status

This project is now maintained by [Eli Courtwright](https://github.com/EliAndrewC) and [Rob Dennis](https://github.com/robdennis) with the blessing of original creator [Michael Foord](http://www.voidspace.org.uk/).

For long time ConfigObj users, the biggest change is in the officially supported Python versions (it *was* 2.3 … 2.6):

* 2.7
* 3.4 … 3.7

Other Python3 versions may work, but this is what *Travis* and ``tox`` use to run the tests on commit.


## Roadmap

- Fixing any issues introduced as a result of the added Python 3 support
- Moving tests away from doctests in favor of pytest (reasonable now that versions older than 2.6 are dropped)
- Considering new features that work in a backwards-compatible way (feel free to open an issue with your suggestion)
- Also see the [milestones](https://github.com/DiffSK/configobj/milestones)


## Contributing

Contributing to this project is easy, and reporting an issue or
adding to the documentation also improves things for every user.
You don’t need to be a developer to contribute.
See [CONTRIBUTING](https://github.com/DiffSK/configobj/blob/master/CONTRIBUTING.md) for more.

As a documentation author or developer,
to **create a working directory** for this project,
call these commands:

```sh
git clone "https://github.com/DiffSK/configobj.git"
cd "configobj"
command . .env --yes --develop # add '--virtualenv /usr/bin/virtualenv' for Python2
invoke build --docs test doctest check
```

For this to work, you might also need to follow some
[setup procedures](https://py-generic-project.readthedocs.io/en/latest/installing.html#quick-setup)
to make the necessary basic commands available on *Linux*, *Mac OS X*, and *Windows*.

**Running the test suite** can be done several ways, just call ``invoke test`` for a quick check.
Run ``invoke test.tox`` for testing with *all* supported Python versions
(if you [have them available](https://github.com/jhermann/priscilla/tree/master/pyenv)),
or be more selective by e.g. calling ``invoke test.tox -e py27,py34``.

Use ``invoke check`` to **run a code-quality scan**.

To **start a watchdog that auto-rebuilds documentation** and reloads the opened browser tab on any change,
call ``invoke docs -w -b`` (stop the watchdog using the ``-k`` option).
This is a mature project that is not actively maintained at this time.

## Past Contributors:

- [Michael Foord](https://agileabstractions.com/)
- original creator of ``configobj`` and ``validate`` and maintainer through version 4
- [Rob Dennis](https://github.com/robdennis)
- released version 5 (first python 3-compatible release) in 2014, bringing the project to github
- released the last maintenance release (until new maintainership is established) in 2023
- [Eli Courtwright](https://github.com/EliAndrewC)
- released version 5 (first python 3-compatible release) in 2014
- [Nicola Larosa](https://pypi.org/user/tekNico/)
- Contributions to the pre-version 5 codebase
- [Jürgen Hermann](https://github.com/jhermann)
- day-to-day maintenance of the repo
Loading
Loading