diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 53e3143..fc21eac 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -1,103 +1,103 @@ name: cd on: - push: - tags: - - 'v[0-9]+.[0-9]+.[0-9]+*' + push: + tags: + - v[0-9]+.[0-9]+.[0-9]+* jobs: - validate-release-tag: + validate-release-tag: - if: github.repository == 'aiidateam/aiida-pseudo' - runs-on: ubuntu-latest + if: github.repository == 'aiidateam/aiida-pseudo' + runs-on: ubuntu-latest - steps: - - name: Checkout source - uses: actions/checkout@v2 + steps: + - name: Checkout source + uses: actions/checkout@v2 - - name: Install Python 3.10 - uses: actions/setup-python@v4 - with: - python-version: '3.10' + - name: Install Python 3.10 + uses: actions/setup-python@v4 + with: + python-version: '3.10' - - name: Validate the tag version against the package version - run: python .github/workflows/validate_release_tag.py $GITHUB_REF + - name: Validate the tag version against the package version + run: python .github/workflows/validate_release_tag.py $GITHUB_REF - pre-commit: + pre-commit: - needs: [validate-release-tag] - runs-on: ubuntu-latest + needs: [validate-release-tag] + runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 + steps: + - uses: actions/checkout@v2 - - name: Install Python - uses: actions/setup-python@v4 - with: - python-version: '3.10' - cache: 'pip' - cache-dependency-path: pyproject.toml + - name: Install Python + uses: actions/setup-python@v4 + with: + python-version: '3.10' + cache: pip + cache-dependency-path: pyproject.toml - - name: Install Python package and dependencies - run: pip install -e .[pre-commit,tests] + - name: Install Python package and dependencies + run: pip install -e .[pre-commit,tests] - - name: Run pre-commit - run: pre-commit run --all-files || ( git status --short ; git diff ; exit 1 ) + - name: Run pre-commit + run: pre-commit run --all-files || ( git status --short ; git diff ; exit 1 ) - tests: + tests: - needs: [validate-release-tag] - runs-on: ubuntu-latest + needs: [validate-release-tag] + runs-on: ubuntu-latest - strategy: - matrix: - python-version: ['3.8', '3.9', '3.10', '3.11'] + strategy: + matrix: + python-version: ['3.8', '3.9', '3.10', '3.11'] - services: - postgres: - image: postgres:12 - rabbitmq: - image: rabbitmq:latest - ports: - - 5672:5672 + services: + postgres: + image: postgres:12 + rabbitmq: + image: rabbitmq:latest + ports: + - 5672:5672 - steps: - - uses: actions/checkout@v2 + steps: + - uses: actions/checkout@v2 - - name: Install Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - cache: 'pip' - cache-dependency-path: pyproject.toml + - name: Install Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + cache: pip + cache-dependency-path: pyproject.toml - - name: Install Python package and dependencies - run: pip install -e .[tests] + - name: Install Python package and dependencies + run: pip install -e .[tests] - - name: Run pytest - run: pytest -sv tests + - name: Run pytest + run: pytest -sv tests - publish: + publish: - name: Publish to PyPI - needs: [pre-commit, tests] - runs-on: ubuntu-latest + name: Publish to PyPI + needs: [pre-commit, tests] + runs-on: ubuntu-latest - steps: - - name: Checkout source - uses: actions/checkout@v2 + steps: + - name: Checkout source + uses: actions/checkout@v2 - - name: Install Python 3.10 - uses: actions/setup-python@v4 - with: - python-version: '3.10' + - name: Install Python 3.10 + uses: actions/setup-python@v4 + with: + python-version: '3.10' - - name: Install flit - run: pip install flit~=3.4 + - name: Install flit + run: pip install flit~=3.4 - - name: Build and publish - run: flit publish - env: - FLIT_USERNAME: __token__ - FLIT_PASSWORD: ${{ secrets.PYPI_KEY }} + - name: Build and publish + run: flit publish + env: + FLIT_USERNAME: __token__ + FLIT_PASSWORD: ${{ secrets.PYPI_KEY }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bc1c3d7..b5c409d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,57 +4,57 @@ on: [push, pull_request] jobs: - pre-commit: + pre-commit: - runs-on: ubuntu-latest + runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 + steps: + - uses: actions/checkout@v2 - - name: Install Python - uses: actions/setup-python@v4 - with: - python-version: '3.10' - cache: 'pip' - cache-dependency-path: pyproject.toml + - name: Install Python + uses: actions/setup-python@v4 + with: + python-version: '3.10' + cache: pip + cache-dependency-path: pyproject.toml - - name: Install Python package and dependencies - run: pip install -e .[pre-commit,tests] + - name: Install Python package and dependencies + run: pip install -e .[pre-commit,tests] - - name: Run pre-commit - run: pre-commit run --all-files || ( git status --short ; git diff ; exit 1 ) + - name: Run pre-commit + run: pre-commit run --all-files || ( git status --short ; git diff ; exit 1 ) - tests: + tests: - runs-on: ubuntu-latest - timeout-minutes: 10 + runs-on: ubuntu-latest + timeout-minutes: 10 - strategy: - matrix: - python-version: ['3.8', '3.9', '3.10', '3.11'] + strategy: + matrix: + python-version: ['3.8', '3.9', '3.10', '3.11'] - services: - postgres: - image: postgres:12 - rabbitmq: - image: rabbitmq:latest - ports: - - 5672:5672 + services: + postgres: + image: postgres:12 + rabbitmq: + image: rabbitmq:latest + ports: + - 5672:5672 - steps: - - uses: actions/checkout@v2 + steps: + - uses: actions/checkout@v2 - - name: Install Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - cache: 'pip' - cache-dependency-path: pyproject.toml + - name: Install Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + cache: pip + cache-dependency-path: pyproject.toml - - name: Install Python package and dependencies - run: pip install -e .[tests] + - name: Install Python package and dependencies + run: pip install -e .[tests] - - name: Run pytest - env: - AIIDA_WARN_v3: True - run: pytest -sv tests + - name: Run pytest + env: + AIIDA_WARN_v3: true + run: pytest -sv tests diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e90fd3b..009bd59 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,17 +1,17 @@ repos: -- repo: https://github.com/pre-commit/pre-commit-hooks - rev: 'v4.2.0' - hooks: - - id: double-quote-string-fixer - - id: end-of-file-fixer - - id: fix-encoding-pragma - - id: mixed-line-ending - - id: trailing-whitespace +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.2.0 + hooks: + - id: double-quote-string-fixer + - id: end-of-file-fixer + - id: fix-encoding-pragma + - id: mixed-line-ending + - id: trailing-whitespace -- repo: https://github.com/ikamensh/flynt/ - rev: '0.76' - hooks: - - id: flynt +- repo: https://github.com/ikamensh/flynt/ + rev: '0.76' + hooks: + - id: flynt - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.1.9 @@ -24,3 +24,11 @@ repos: - id: ruff args: [--fix, --exit-non-zero-on-fix, --show-fixes] exclude: *exclude_files + +- repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks + rev: v2.11.0 + hooks: + - id: pretty-format-toml + args: [--autofix] + - id: pretty-format-yaml + args: [--autofix] diff --git a/.readthedocs.yml b/.readthedocs.yml index a58eb25..8d9ccae 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -1,17 +1,17 @@ version: 2 build: - os: ubuntu-22.04 - tools: - python: '3.11' + os: ubuntu-22.04 + tools: + python: '3.11' python: - install: - - method: pip - path: . - extra_requirements: - - docs + install: + - method: pip + path: . + extra_requirements: + - docs sphinx: - builder: html - fail_on_warning: true + builder: html + fail_on_warning: true diff --git a/pyproject.toml b/pyproject.toml index 7a79960..a41588b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,57 +1,33 @@ [build-system] -requires = ['flit_core >=3.4,<4'] build-backend = 'flit_core.buildapi' +requires = ['flit_core >=3.4,<4'] [project] -name = 'aiida-pseudo' -dynamic = ['description', 'version'] authors = [{name = 'Sebastiaan P. Huber', email = 'mail@sphuber.net'}] -readme = 'README.md' -license = {file = 'LICENSE.txt'} classifiers = [ - 'Development Status :: 5 - Production/Stable', - 'Framework :: AiiDA', - 'License :: OSI Approved :: MIT License', - 'Operating System :: POSIX :: Linux', - 'Operating System :: MacOS :: MacOS X', - 'Programming Language :: Python', - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', - 'Programming Language :: Python :: 3.10', - 'Programming Language :: Python :: 3.11', + 'Development Status :: 5 - Production/Stable', + 'Framework :: AiiDA', + 'License :: OSI Approved :: MIT License', + 'Operating System :: POSIX :: Linux', + 'Operating System :: MacOS :: MacOS X', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11' ] -keywords = ['aiida', 'pseudopotentials'] -requires-python = '>=3.8' dependencies = [ - 'aiida-core~=2.1', - 'click~=8.0', - 'pint~=0.16.1', - 'requests~=2.20', + 'aiida-core~=2.1', + 'click~=8.0', + 'pint~=0.16.1', + 'requests~=2.20' ] - -[project.urls] -Home = 'https://github.com/aiidateam/aiida-pseudo' -Source = 'https://github.com/aiidateam/aiida-pseudo' -Documentation = 'https://aiida-pseudo.readthedocs.io' - -[project.optional-dependencies] -docs = [ - 'sphinx~=6.0', - 'sphinx-copybutton~=0.5.0', - 'sphinx-book-theme~=1.0', - 'sphinx-autoapi~=3.0', - 'sphinx-click~=4.0', -] -pre-commit = [ - 'pre-commit~=2.2', -] -tests = [ - 'pgtest~=1.3', - 'pytest>=6.0', -] - -[project.scripts] -aiida-pseudo = 'aiida_pseudo.cli:cmd_root' +dynamic = ['description', 'version'] +keywords = ['aiida', 'pseudopotentials'] +license = {file = 'LICENSE.txt'} +name = 'aiida-pseudo' +readme = 'README.md' +requires-python = '>=3.8' [project.entry-points.'aiida.data'] 'pseudo' = 'aiida_pseudo.data.pseudo.pseudo:PseudoPotentialData' @@ -68,28 +44,51 @@ aiida-pseudo = 'aiida_pseudo.cli:cmd_root' 'pseudo.family.pseudo_dojo' = 'aiida_pseudo.groups.family.pseudo_dojo:PseudoDojoFamily' 'pseudo.family.sssp' = 'aiida_pseudo.groups.family.sssp:SsspFamily' +[project.optional-dependencies] +docs = [ + 'sphinx~=6.0', + 'sphinx-copybutton~=0.5.0', + 'sphinx-book-theme~=1.0', + 'sphinx-autoapi~=3.0', + 'sphinx-click~=4.0' +] +pre-commit = [ + 'pre-commit~=2.2' +] +tests = [ + 'pgtest~=1.3', + 'pytest>=6.0' +] + +[project.scripts] +aiida-pseudo = 'aiida_pseudo.cli:cmd_root' + +[project.urls] +Documentation = 'https://aiida-pseudo.readthedocs.io' +Home = 'https://github.com/aiidateam/aiida-pseudo' +Source = 'https://github.com/aiidateam/aiida-pseudo' + [tool.flit.module] name = 'aiida_pseudo' [tool.flit.sdist] exclude = [ - '.github/', - 'docs/', - 'tests/', + '.github/', + 'docs/', + 'tests/' ] [tool.flynt] -line-length = 120 fail-on-change = true - +line-length = 120 [tool.pytest.ini_options] filterwarnings = [ - 'ignore:Creating AiiDA configuration folder.*:UserWarning' + 'ignore:Creating AiiDA configuration folder.*:UserWarning' ] minversion = '6.0' testpaths = [ - 'tests', + 'tests' ] [tool.ruff]