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
45 changes: 45 additions & 0 deletions .github/workflows/pytest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: pytest

on:
push:
branches:
- master
tags-ignore:
- '**'
pull_request:

jobs:
tests:
name: "Python ${{ matrix.py }} on OS ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
env:
working-directory: .

strategy:
matrix:
os: ["ubuntu-latest", "windows-latest"]
py: ["3.7", "3.9", "3.10", "3.11"]

steps:
- uses: "actions/checkout@v3"

- name: Setup python for test ${{ matrix.py }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.py }}

- name: Install dependencies for testing
run: |
pip install --upgrade pip
pip install pytest pytest-md pytest-emoji pytest-cov
pip install git+https://github.com/theochem/gbasis.git@master
pip install git+https://github.com/theochem/grid.git@master
pip install git+https://github.com/theochem/iodata.git@master

- name: Install development version
run: |
pip install .

- name: Run pytest
run: |
pytest
3 changes: 1 addition & 2 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
include LICENSE
include README.rst

include atomdb/datasets/*/data/*
include atomdb/datasets/*/raw_data/*
include atomdb/datasets/*/db/*
1 change: 1 addition & 0 deletions atomdb/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@

from atomdb.promolecule import *

from atomdb.datasets import *

__version__ = version
r"""AtomDB version string."""
6 changes: 6 additions & 0 deletions atomdb/datasets/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,9 @@
#
# You should have received a copy of the GNU General Public License
# along with AtomDB. If not, see <http://www.gnu.org/licenses/>.
from .gaussian import *
from .hci_augccpwcvqz import *
from .nist import *
from .numeric import *
from .slater import *
from atomdb.datasets.numeric import *
1 change: 1 addition & 0 deletions atomdb/test/test_gaussian.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import numpy as np
from numpy.testing import assert_equal, assert_almost_equal
from atomdb.api import load
import atomdb.datasets


TEST_DATAPATH = "atomdb/test/data/"
Expand Down
94 changes: 94 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# This file is part of AtomDB.
#
# AtomDB is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your
# option) any later version.
#
# AtomDB is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# for more details.
#
# You should have received a copy of the GNU General Public License
# along with AtomDB. If not, see <http://www.gnu.org/licenses/>.

[build-system]
requires = ["setuptools>=65.0", "setuptools_scm[toml]>=7.1.0"]
build-backend = "setuptools.build_meta"

[project]
name = "AtomDB"
authors = [
{ name="QC-Devs Community", email="qcdevs@gmail.com" },
]
description = "AtomDB is a database of atomic and ionic properties."
readme = "README.rst"
license = {text = "GPL-3.0-or-later"}
requires-python = ">=3.7"
classifiers = [
'Development Status :: 0 - Released',
'Environment :: Console',
'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)',
'Operating System :: POSIX :: Linux',
'Topic :: Scientific/Engineering :: Physics',
'Topic :: Scientific/Engineering :: Chemistry',
'Intended Audience :: Science/Research',
"Intended Audience :: Education",
"Natural Language :: English",
'Programming Language :: Python :: 3.7',
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
]
dependencies = [
"numpy>=1.16",
"pytest >=2.6",
"scipy>=1.4",
"msgpack",
"h5py",
]
dynamic = ["version"]

[project.urls]
Documentation = "https://atomdb.qcdevs.org"
Issues = "https://github.com/theochem/atomdb/issues"
Source = "https://github.com/theochem/atomdb/"
Changelog = "https://github.com/theochem/atomdb/blob/main/CHANGELOG.md"

[project.optional-dependencies]
doc = [
"ipython",
"numpydoc",
"sphinx_copybutton",
"sphinx-autoapi",
"nbsphinx",
"nbconvert",
"sphinx_rtd_theme",
"sphinx_autodoc_typehints",
"docutils==0.16", # Needed to show bullet points in sphinx_rtd_theme
"nbsphinx-link"
]

[tool.black]
line-length = 100

[tool.ruff]
# E is pycodestyle
# F is pyflakes
# UP is pyupgrade - automatically updates syntax
# B is flake8-bugbear
# I is sort imports alphabetically
# PGH is pygrep-hooks
# PL is pylint
# RUF is Ruff-specific rules
select = ["E", "F", "UP", "B", "I", "PGH", "PL", "RUF"]
line-length = 100
ignore = ["PLR2004", "PLR0913", "PLR0912", "PLW2901", "PLR0915", "RUF013"]
extend-exclude = ["doc/*", "doc/*/*"]

[tool.pytest.ini_options]
minversion = "7.0"
testpaths = ["tests"]
addopts = "-v"
34 changes: 0 additions & 34 deletions setup.py

This file was deleted.