diff --git a/.appveyor.yml b/.appveyor.yml
deleted file mode 100644
index ce025819..00000000
--- a/.appveyor.yml
+++ /dev/null
@@ -1,64 +0,0 @@
-environment:
- matrix:
- - python: 35
- - python: 35-x64
- - python: 36
- - python: 36-x64
- - python: 37
- - python: 37-x64
- - python: 38
- - python: 38-x64
- - python: 39
- python_version: 3.9.13
- - python: 39-x64
- python_version: 3.9.13
- - python: 310
- python_version: 3.10.6
- - python: 310-x64
- python_version: 3.10.6
- - python: 311
- python_version: 3.11.2
- - python: 311-x64
- python_version: 3.11.2
-
-install:
- - ps: |
- # from https://github.com/appveyor/build-images/blob/27bde614bc60d7ef7a8bc46182f4d7582fa11b56/scripts/Windows/install_python.ps1#L88-L108
- function InstallPythonEXE($targetPath, $version) {
- $urlPlatform = ""
- if ($targetPath -match '-x64$') {
- $urlPlatform = "-amd64"
- }
- Write-Host "Installing Python $version$urlPlatform to $($targetPath)..." -ForegroundColor Cyan
- $downloadUrl = "https://www.python.org/ftp/python/$version/python-$version$urlPlatform.exe"
- Write-Host "Downloading $($downloadUrl)..."
- $exePath = "$env:TEMP\python-$version.exe"
- (New-Object Net.WebClient).DownloadFile($downloadUrl, $exePath)
- Write-Host "Installing..."
- cmd /c start /wait $exePath /quiet TargetDir="$targetPath" Shortcuts=0 Include_launcher=1 InstallLauncherAllUsers=1 Include_debug=1
- Remove-Item $exePath
- Write-Host "Installed Python $version" -ForegroundColor Green
- }
- if ( -not ( Test-Path -Path C:\\Python$env:PYTHON -PathType Container ) ) {
- InstallPythonEXE C:\\Python$env:PYTHON $env:PYTHON_VERSION
- }
- - SET PATH=C:\\Python%PYTHON%;c:\\Python%PYTHON%\\scripts;%PATH%
- - python -m pip install -U pip wheel setuptools
-
-build: off
-build_script:
- - python setup.py bdist_wheel
-
-test: off
-test_script:
- - pip install -r requirements-test.txt
- - pip install xmlsec --only-binary=xmlsec --no-index --find-links=dist
- - pytest -v --color=yes --junitxml=unittests.xml
- - ps: Get-ChildItem dist\*.whl | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
-
-on_finish:
- - ps: |
- # archive test results at AppVeyor
- $wc = New-Object 'System.Net.WebClient'
- $wc.UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\unittests.xml))
- $LastExitCode = 0
diff --git a/.editorconfig b/.editorconfig
deleted file mode 100644
index 8f960391..00000000
--- a/.editorconfig
+++ /dev/null
@@ -1,10 +0,0 @@
-# editorconfig.org
-root = true
-
-[*]
-indent_style = space
-indent_size = 4
-end_of_line = lf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
diff --git a/.gitattributes b/.gitattributes
deleted file mode 100644
index 176a458f..00000000
--- a/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-* text=auto
diff --git a/.github/workflows/linuxbrew.yml b/.github/workflows/linuxbrew.yml
deleted file mode 100644
index d8996fd6..00000000
--- a/.github/workflows/linuxbrew.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-name: linuxbrew
-on: [push, pull_request]
-jobs:
- linuxbrew:
- runs-on: ubuntu-latest
- strategy:
- matrix:
- python: ["3.9", "3.10", "3.11", "3.12", "3.13"]
- steps:
- - uses: actions/checkout@v3
- - name: Install brew
- run: |
- sudo apt install -y build-essential procps curl file git
- /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- echo "/home/linuxbrew/.linuxbrew/bin" >> $GITHUB_PATH
- - name: Install build dependencies
- run: |
- brew update
- brew install python@${{ matrix.python }} gcc libxml2 libxmlsec1 pkg-config
- echo "/home/linuxbrew/.linuxbrew/opt/python@${{ matrix.python }}/libexec/bin" >> $GITHUB_PATH
- - name: Build wheel
- run: |
- python3 -m venv build_venv
- source build_venv/bin/activate
- pip3 install --upgrade setuptools wheel build
- export CFLAGS="-I$(brew --prefix)/include"
- export LDFLAGS="-L$(brew --prefix)/lib"
- python3 -m build
- rm -rf build/
- - name: Run tests
- run: |
- python3 -m venv test_venv
- source test_venv/bin/activate
- pip3 install --upgrade --no-binary=lxml -r requirements-test.txt
- pip3 install xmlsec --only-binary=xmlsec --no-index --find-links=dist/
- pytest -v --color=yes
diff --git a/.github/workflows/macosx.yml b/.github/workflows/macosx.yml
index 1b82d22d..858e1a2b 100644
--- a/.github/workflows/macosx.yml
+++ b/.github/workflows/macosx.yml
@@ -1,5 +1,9 @@
name: MacOS
-on: [push, pull_request]
+on:
+ push:
+ branches:
+ - main
+ pull_request:
jobs:
macosx:
runs-on: macos-latest
@@ -17,34 +21,20 @@ jobs:
run: |
pip install --upgrade pip setuptools wheel build
brew install libxml2 libxmlsec1 pkg-config
- - name: Build macosx_x86_64 wheel
+ - name: Build macosx wheel
env:
CC: clang
- CFLAGS: "-fprofile-instr-generate -fcoverage-mapping"
- LDFLAGS: "-fprofile-instr-generate -fcoverage-mapping"
PYXMLSEC_STATIC_DEPS: ${{ matrix.static_deps }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
export PKG_CONFIG_PATH="$(brew --prefix)/opt/libxml2/lib/pkgconfig"
python -m build
rm -rf build/
- - name: Set environment variables
- shell: bash
- run: |
- echo "PKGVER=$(python setup.py --version)" >> $GITHUB_ENV
- echo "LLVM_PROFILE_FILE=pyxmlsec.profraw" >> $GITHUB_ENV
- name: Install test dependencies
run: |
export PKG_CONFIG_PATH="$(brew --prefix)/opt/libxml2/lib/pkgconfig"
- pip install coverage --upgrade --no-binary=lxml -r requirements-test.txt
+ pip install --upgrade --no-binary=lxml -r requirements-test.txt
pip install xmlsec --only-binary=xmlsec --no-index --find-links=dist/
- echo "PYXMLSEC_LIBFILE=$(python -c 'import xmlsec; print(xmlsec.__file__)')" >> $GITHUB_ENV
- name: Run tests
run: |
- coverage run -m pytest -v --color=yes
- - name: Report coverage to codecov
- run: |
- /Library/Developer/CommandLineTools/usr/bin/llvm-profdata merge -sparse ${{ env.LLVM_PROFILE_FILE }} -output pyxmlsec.profdata
- /Library/Developer/CommandLineTools/usr/bin/llvm-cov show ${{ env.PYXMLSEC_LIBFILE }} --arch=$(uname -m) --instr-profile=pyxmlsec.profdata src > coverage.txt
- bash <(curl -s https://codecov.io/bash) -f coverage.txt
- if: matrix.static_deps != 'static'
+ pytest -v --color=yes
diff --git a/.github/workflows/manylinux.yml b/.github/workflows/manylinux.yml
deleted file mode 100644
index a44776b3..00000000
--- a/.github/workflows/manylinux.yml
+++ /dev/null
@@ -1,48 +0,0 @@
-name: manylinux
-on: [push, pull_request]
-jobs:
- manylinux:
- runs-on: ubuntu-latest
- strategy:
- matrix:
- python-abi: [cp36-cp36m, cp37-cp37m, cp38-cp38, cp39-cp39, cp310-cp310, cp311-cp311]
- image:
- - manylinux2014_x86_64
- - manylinux_2_28_x86_64
- - musllinux_1_1_x86_64
- container: quay.io/pypa/${{ matrix.image }}
- steps:
- - uses: actions/checkout@v1
- - name: Install python build dependencies
- run: |
- # https://github.com/actions/runner/issues/2033
- chown -R $(id -u):$(id -g) $PWD
- /opt/python/${{ matrix.python-abi }}/bin/pip install --upgrade pip setuptools wheel build
- - name: Install system build dependencies (manylinux)
- run: |
- yum install -y perl-core
- if: contains(matrix.image, 'manylinux')
- - name: Set environment variables
- shell: bash
- run: |
- echo "PKGVER=$(/opt/python/${{ matrix.python-abi }}/bin/python setup.py --version)" >> $GITHUB_ENV
- - name: Build linux_x86_64 wheel
- env:
- PYXMLSEC_STATIC_DEPS: true
- GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: |
- /opt/python/${{ matrix.python-abi }}/bin/python -m build
- - name: Label manylinux wheel
- run: |
- ls -la dist/
- auditwheel show dist/xmlsec-${{ env.PKGVER }}-${{ matrix.python-abi }}-linux_x86_64.whl
- auditwheel repair dist/xmlsec-${{ env.PKGVER }}-${{ matrix.python-abi }}-linux_x86_64.whl
- ls -la wheelhouse/
- auditwheel show wheelhouse/xmlsec-${{ env.PKGVER }}-${{ matrix.python-abi }}-*${{ matrix.image }}*.whl
- - name: Install test dependencies
- run: |
- /opt/python/${{ matrix.python-abi }}/bin/pip install --upgrade -r requirements-test.txt
- /opt/python/${{ matrix.python-abi }}/bin/pip install xmlsec --only-binary=xmlsec --no-index --find-links=wheelhouse/
- - name: Run tests
- run: |
- /opt/python/${{ matrix.python-abi }}/bin/pytest -v --color=yes
diff --git a/.github/workflows/sdist.yml b/.github/workflows/sdist.yml
deleted file mode 100644
index e987cdce..00000000
--- a/.github/workflows/sdist.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-name: sdist
-on: [push, pull_request]
-jobs:
- sdist:
- runs-on: ubuntu-latest
- strategy:
- matrix:
- python: ["3.9", "3.10", "3.11", "3.12", "3.13"]
- steps:
- - uses: actions/checkout@v3
- - name: Set up Python
- uses: actions/setup-python@v4
- with:
- python-version: ${{ matrix.python }}
- - name: Install build dependencies
- run: |
- pip install --upgrade pip setuptools wheel
- - name: Package source dist
- run: |
- python setup.py sdist
- - name: Install test dependencies
- run: |
- sudo apt-get update
- sudo apt-get install libxml2-dev libxmlsec1-dev libxmlsec1-openssl opensc softhsm2 libengine-pkcs11-openssl
- pip install --upgrade -r requirements-test.txt --no-binary lxml
- pip install dist/xmlsec-$(python setup.py --version).tar.gz
- - name: Run tests
- run: |
- pytest -v --color=yes
diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml
index 85410d98..6ec041a8 100644
--- a/.github/workflows/wheels.yml
+++ b/.github/workflows/wheels.yml
@@ -12,6 +12,8 @@ on:
# │ │ │ │ │
- cron: "42 3 * * 4"
push:
+ branches:
+ - main
pull_request:
workflow_dispatch:
diff --git a/.gitignore b/.gitignore
index 15f47985..822f06cf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,5 @@
# Dot files
.*
-!.editorconfig
-!.travis*
-!.appveyor*
!.git*
!.readthedocs.yaml
!.pre-commit-config.yaml
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 9e6ca540..00000000
--- a/.travis.yml
+++ /dev/null
@@ -1,51 +0,0 @@
-dist: trusty
-sudo: false
-language: python
-notifications:
- email: false
-matrix:
- include:
- - python: 3.5
- - python: 3.6
- - python: 3.7
- dist: xenial
- sudo: required
- - python: 3.8
- dist: xenial
- sudo: required
- - python: 3.9
- dist: xenial
- sudo: required
- - python: 3.11
- dist: xenial
- sudo: required
-env:
- global:
- - CFLAGS=-coverage
- - LDFLAGS=-coverage -lgcov
- - PYXMLSEC_TEST_ITERATIONS=50
-
-addons:
- apt:
- packages:
- - libssl-dev
- - libxmlsec1
- - libxmlsec1-dev
- - libxmlsec1-openssl
- - libxslt1-dev
- - pkg-config
- - lcov
-install:
-- travis_retry pip install --upgrade pip setuptools wheel
-- travis_retry pip install coverage -r requirements-test.txt --upgrade --force-reinstall
-- python setup.py bdist_wheel
-- pip install xmlsec --only-binary=xmlsec --no-index --find-links=dist/
-script: coverage run -m pytest -v tests --color=yes
-after_success:
-- lcov --capture --no-external --directory . --output-file coverage.info
-- lcov --list coverage.info
-- bash <(curl -s https://codecov.io/bash) -f coverage.info
-before_deploy:
-- travis_retry pip install Sphinx -r doc/source/requirements.txt
-- git apply --verbose --no-index --unsafe-paths --directory=$(python -c "import site; print(site.getsitepackages()[0])") doc/source/sphinx-pr-6916.diff
-- sphinx-build -EWanb html doc/source build/sphinx
diff --git a/MANIFEST.in b/MANIFEST.in
index 6c47dc9c..1801840d 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -3,10 +3,6 @@ recursive-include tests *
prune */__pycache__
prune .github
prune doc
-exclude .appveyor.yml
-exclude .editorconfig
-exclude .travis.yml
-exclude .gitattributes
exclude .gitignore
exclude requirements-test.txt
exclude requirements.txt
diff --git a/README.md b/README.md
new file mode 100644
index 00000000..12534cce
--- /dev/null
+++ b/README.md
@@ -0,0 +1,205 @@
+# python-xmlsec
+
+[](https://pypi.python.org/pypi/xmlsec)
+
+[](https://results.pre-commit.ci/latest/github/xmlsec/python-xmlsec/master)
+
+[](https://ci.appveyor.com/project/hoefling/xmlsec)
+
+[](https://github.com/mehcode/python-xmlsec/actions/workflows/manylinux.yml)
+
+[](https://github.com/mehcode/python-xmlsec/actions/workflows/macosx.yml)
+
+[](https://github.com/mehcode/python-xmlsec/actions/workflows/linuxbrew.yml)
+
+[](https://github.com/mehcode/python-xmlsec/actions/workflows/opensuse-tumbleweed.yml)
+
+[](https://codecov.io/gh/xmlsec/python-xmlsec)
+
+[](https://xmlsec.readthedocs.io/en/latest/?badge=latest)
+
+Python bindings for the [XML Security
+Library](https://www.aleksey.com/xmlsec/).
+
+## Documentation
+
+A documentation for `xmlsec` can be found at
+[xmlsec.readthedocs.io](https://xmlsec.readthedocs.io/).
+
+## Usage
+
+Check the
+[examples](https://xmlsec.readthedocs.io/en/latest/examples.html)
+section in the documentation to see various examples of signing and
+verifying using the library.
+
+## Requirements
+
+- `libxml2 >= 2.9.1`
+- `libxmlsec1 >= 1.2.33`
+
+## Install
+
+`xmlsec` is available on PyPI:
+
+``` bash
+pip install xmlsec
+```
+
+Depending on your OS, you may need to install the required native
+libraries first:
+
+### Linux (Debian)
+
+``` bash
+apt-get install pkg-config libxml2-dev libxmlsec1-dev libxmlsec1-openssl
+```
+
+Note: There is no required version of LibXML2 for Ubuntu Precise, so you
+need to download and install it manually.
+
+``` bash
+wget http://xmlsoft.org/sources/libxml2-2.9.1.tar.gz
+tar -xvf libxml2-2.9.1.tar.gz
+cd libxml2-2.9.1
+./configure && make && make install
+```
+
+### Linux (CentOS)
+
+``` bash
+yum install libxml2-devel xmlsec1-devel xmlsec1-openssl-devel libtool-ltdl-devel
+```
+
+### Linux (Fedora)
+
+``` bash
+dnf install libxml2-devel xmlsec1-devel xmlsec1-openssl-devel libtool-ltdl-devel
+```
+
+### Mac
+
+``` bash
+brew install libxml2 libxmlsec1 pkg-config
+```
+
+### Alpine
+
+``` bash
+apk add build-base libressl libffi-dev libressl-dev libxslt-dev libxml2-dev xmlsec-dev xmlsec
+```
+
+## Troubleshooting
+
+### Mac
+
+If you get any fatal errors about missing `.h` files, update your
+`C_INCLUDE_PATH` environment variable to include the appropriate files
+from the `libxml2` and `libxmlsec1` libraries.
+
+### Windows
+
+Starting with 1.3.7, prebuilt wheels are available for Windows, so
+running `pip install xmlsec` should suffice. If you want to build from
+source:
+
+1. Configure build environment, see
+ [wiki.python.org](https://wiki.python.org/moin/WindowsCompilers) for
+ more details.
+
+2. Install from source dist:
+
+ ``` bash
+ pip install xmlsec --no-binary=xmlsec
+ ```
+
+## Building from source
+
+1. Clone the `xmlsec` source code repository to your local computer.
+
+ ``` bash
+ git clone https://github.com/xmlsec/python-xmlsec.git
+ ```
+
+2. Change into the `python-xmlsec` root directory.
+
+ ``` bash
+ cd /path/to/xmlsec
+ ```
+
+3. Install the project and all its dependencies using `pip`.
+
+ ``` bash
+ pip install .
+ ```
+
+## Contributing
+
+### Setting up your environment
+
+1. Follow steps 1 and 2 of the [manual installation
+ instructions](#building-from-source).
+
+2. Initialize a virtual environment to develop in. This is done so as
+ to ensure every contributor is working with close-to-identicial
+ versions of packages.
+
+ ``` bash
+ mkvirtualenv xmlsec
+ ```
+
+ The `mkvirtualenv` command is available from `virtualenvwrapper`
+ package which can be installed by following
+ [link](http://virtualenvwrapper.readthedocs.org/en/latest/install.html#basic-installation).
+
+3. Activate the created virtual environment:
+
+ ``` bash
+ workon xmlsec
+ ```
+
+4. Install `xmlsec` in development mode with testing enabled. This will
+ download all dependencies required for running the unit tests.
+
+ ``` bash
+ pip install -r requirements-test.txt
+ pip install -e "."
+ ```
+
+### Running the test suite
+
+1. [Set up your environment](#setting-up-your-environment).
+
+2. Run the unit tests.
+
+ ``` bash
+ pytest tests
+ ```
+
+3. Tests configuration
+
+ Env variable `PYXMLSEC_TEST_ITERATIONS` specifies number of test
+ iterations to detect memory leaks.
+
+### Reporting an issue
+
+Please attach the output of following information:
+
+- version of `xmlsec`
+
+- version of `libxmlsec1`
+
+- version of `libxml2`
+
+- output from the command
+
+ ``` bash
+ pkg-config --cflags xmlsec1
+ ```
+
+## License
+
+Unless otherwise noted, all files contained within this project are
+licensed under the MIT opensource license. See the included `LICENSE`
+file or visit [opensource.org](http://opensource.org/licenses/MIT) for
+more information.
diff --git a/README.rst b/README.rst
deleted file mode 100644
index bd3a1be9..00000000
--- a/README.rst
+++ /dev/null
@@ -1,229 +0,0 @@
-python-xmlsec
-=============
-
-.. image:: https://img.shields.io/pypi/v/xmlsec.svg?logo=python&logoColor=white
- :target: https://pypi.python.org/pypi/xmlsec
-.. image:: https://results.pre-commit.ci/badge/github/xmlsec/python-xmlsec/master.svg
- :target: https://results.pre-commit.ci/latest/github/xmlsec/python-xmlsec/master
- :alt: pre-commit.ci status
-.. image:: https://img.shields.io/appveyor/ci/hoefling/xmlsec/master.svg?logo=appveyor&logoColor=white&label=AppVeyor
- :target: https://ci.appveyor.com/project/hoefling/xmlsec
-.. image:: https://github.com/mehcode/python-xmlsec/actions/workflows/manylinux.yml/badge.svg
- :target: https://github.com/mehcode/python-xmlsec/actions/workflows/manylinux.yml
-.. image:: https://github.com/mehcode/python-xmlsec/actions/workflows/macosx.yml/badge.svg
- :target: https://github.com/mehcode/python-xmlsec/actions/workflows/macosx.yml
-.. image:: https://github.com/mehcode/python-xmlsec/actions/workflows/linuxbrew.yml/badge.svg
- :target: https://github.com/mehcode/python-xmlsec/actions/workflows/linuxbrew.yml
-.. image:: https://github.com/mehcode/python-xmlsec/actions/workflows/opensuse-tumbleweed.yml/badge.svg
- :target: https://github.com/mehcode/python-xmlsec/actions/workflows/opensuse-tumbleweed.yml
-.. image:: https://codecov.io/gh/xmlsec/python-xmlsec/branch/master/graph/badge.svg
- :target: https://codecov.io/gh/xmlsec/python-xmlsec
-.. image:: https://img.shields.io/readthedocs/xmlsec/latest?logo=read-the-docs
- :target: https://xmlsec.readthedocs.io/en/latest/?badge=latest
- :alt: Documentation Status
-
-Python bindings for the `XML Security Library `_.
-
-Documentation
-*************
-
-A documentation for ``xmlsec`` can be found at `xmlsec.readthedocs.io `_.
-
-Usage
-*****
-
-Check the `examples `_ section in the documentation to see various examples of signing and verifying using the library.
-
-Requirements
-************
-- ``libxml2 >= 2.9.1``
-- ``libxmlsec1 >= 1.2.33``
-
-Install
-*******
-
-``xmlsec`` is available on PyPI:
-
-.. code-block:: bash
-
- pip install xmlsec
-
-Depending on your OS, you may need to install the required native
-libraries first:
-
-Linux (Debian)
-^^^^^^^^^^^^^^
-
-.. code-block:: bash
-
- apt-get install pkg-config libxml2-dev libxmlsec1-dev libxmlsec1-openssl
-
-
-Note: There is no required version of LibXML2 for Ubuntu Precise,
-so you need to download and install it manually.
-
-.. code-block:: bash
-
- wget http://xmlsoft.org/sources/libxml2-2.9.1.tar.gz
- tar -xvf libxml2-2.9.1.tar.gz
- cd libxml2-2.9.1
- ./configure && make && make install
-
-
-Linux (CentOS)
-^^^^^^^^^^^^^^
-
-.. code-block:: bash
-
- yum install libxml2-devel xmlsec1-devel xmlsec1-openssl-devel libtool-ltdl-devel
-
-
-Linux (Fedora)
-^^^^^^^^^^^^^^
-
-.. code-block:: bash
-
- dnf install libxml2-devel xmlsec1-devel xmlsec1-openssl-devel libtool-ltdl-devel
-
-
-Mac
-^^^
-
-.. code-block:: bash
-
- brew install libxml2 libxmlsec1 pkg-config
-
-or
-
-.. code-block:: bash
-
- port install libxml2 xmlsec pkgconfig
-
-
-Alpine
-^^^^^^
-
-.. code-block:: bash
-
- apk add build-base libressl libffi-dev libressl-dev libxslt-dev libxml2-dev xmlsec-dev xmlsec
-
-
-Troubleshooting
-***************
-
-Mac
-^^^
-
-If you get any fatal errors about missing ``.h`` files, update your
-``C_INCLUDE_PATH`` environment variable to include the appropriate
-files from the ``libxml2`` and ``libxmlsec1`` libraries.
-
-
-Windows
-^^^^^^^
-
-Starting with 1.3.7, prebuilt wheels are available for Windows,
-so running ``pip install xmlsec`` should suffice. If you want
-to build from source:
-
-#. Configure build environment, see `wiki.python.org `_ for more details.
-
-#. Install from source dist:
-
- .. code-block:: bash
-
- pip install xmlsec --no-binary=xmlsec
-
-
-Building from source
-********************
-
-#. Clone the ``xmlsec`` source code repository to your local computer.
-
- .. code-block:: bash
-
- git clone https://github.com/xmlsec/python-xmlsec.git
-
-#. Change into the ``python-xmlsec`` root directory.
-
- .. code-block:: bash
-
- cd /path/to/xmlsec
-
-
-#. Install the project and all its dependencies using ``pip``.
-
- .. code-block:: bash
-
- pip install .
-
-
-Contributing
-************
-
-Setting up your environment
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-#. Follow steps 1 and 2 of the `manual installation instructions <#building-from-source>`_.
-
-
-#. Initialize a virtual environment to develop in.
- This is done so as to ensure every contributor is working with
- close-to-identicial versions of packages.
-
- .. code-block:: bash
-
- mkvirtualenv xmlsec
-
- The ``mkvirtualenv`` command is available from ``virtualenvwrapper`` package which can be installed by following `link `_.
-
-#. Activate the created virtual environment:
-
- .. code-block:: bash
-
- workon xmlsec
-
-#. Install ``xmlsec`` in development mode with testing enabled.
- This will download all dependencies required for running the unit tests.
-
- .. code-block:: bash
-
- pip install -r requirements-test.txt
- pip install -e "."
-
-
-Running the test suite
-^^^^^^^^^^^^^^^^^^^^^^
-
-#. `Set up your environment <#setting-up-your-environment>`_.
-
-#. Run the unit tests.
-
- .. code-block:: bash
-
- pytest tests
-
-#. Tests configuration
-
- Env variable ``PYXMLSEC_TEST_ITERATIONS`` specifies number of
- test iterations to detect memory leaks.
-
-Reporting an issue
-^^^^^^^^^^^^^^^^^^
-
-Please attach the output of following information:
-
-* version of ``xmlsec``
-* version of ``libxmlsec1``
-* version of ``libxml2``
-* output from the command
-
- .. code-block:: bash
-
- pkg-config --cflags xmlsec1
-
-License
-*******
-
-Unless otherwise noted, all files contained within this project are licensed under the MIT opensource license.
-See the included ``LICENSE`` file or visit `opensource.org `_ for more information.
diff --git a/setup.cfg b/setup.cfg
index c090b4e8..7fee05f9 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,5 +1,5 @@
[metadata]
-description_file = README.rst
+description_file = README.md
[bdist_rpm]
release = 1
diff --git a/setup.py b/setup.py
index 92588ebc..5d0c04e9 100644
--- a/setup.py
+++ b/setup.py
@@ -590,7 +590,7 @@ def prepare_static_build(self, build_platform):
setup_reqs = ['setuptools_scm[toml]>=3.4', 'pkgconfig>=1.5.1', 'lxml>=3.8']
-with io.open('README.rst', encoding='utf-8') as f:
+with io.open('README.md', encoding='utf-8') as f:
long_desc = f.read()