Skip to content

Commit 435577e

Browse files
committed
Merge branch 'transformed_cube' of https://github.com/Ali-Tehrani/grid into transformed_cube
2 parents cc4625e + a9f2a85 commit 435577e

File tree

196 files changed

+4223
-1007
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

196 files changed

+4223
-1007
lines changed

.github/workflows/ci.yml

Lines changed: 0 additions & 37 deletions
This file was deleted.

.github/workflows/ci_rob.yml

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
name: CI Roberto
2+
on:
3+
push:
4+
tags:
5+
- '[1-9]+.[0-9]+.[0-9]+*'
6+
branches:
7+
- master
8+
pull_request:
9+
branches:
10+
- master
11+
12+
jobs:
13+
# These are quick tests using Python's venv on different Python versions.
14+
test-venv:
15+
timeout-minutes: 30
16+
if: "! startsWith(github.ref, 'refs/tags')"
17+
strategy:
18+
fail-fast: false
19+
matrix:
20+
include:
21+
- os: ubuntu-latest
22+
python-version: 3.7
23+
- os: ubuntu-latest
24+
python-version: 3.8
25+
- os: ubuntu-latest
26+
python-version: 3.9
27+
- os: macos-latest
28+
python-version: 3.7
29+
- os: macos-latest
30+
python-version: 3.8
31+
- os: macos-latest
32+
python-version: 3.9
33+
34+
runs-on: ${{ matrix.os }}
35+
env:
36+
# Tell Roberto to upload coverage results
37+
ROBERTO_UPLOAD_COVERAGE: 1
38+
steps:
39+
- uses: actions/checkout@v3
40+
with:
41+
fetch-depth: 2
42+
- name: Fetch base branch (usually master)
43+
run: |
44+
if [[ -n "${GITHUB_HEAD_REF}" ]]; then
45+
git fetch origin ${GITHUB_BASE_REF} --depth=2
46+
fi
47+
- name: Set up Python ${{ matrix.python-version }}
48+
uses: actions/setup-python@v4
49+
with:
50+
python-version: ${{ matrix.python-version }}
51+
architecture: x64
52+
- uses: actions/cache@v2
53+
with:
54+
path: ~/.local/venvs
55+
key: ${{ runner.os }}-Python-${{ matrix.python-version }}-venv
56+
- name: Install Pip and Roberto
57+
run: |
58+
python -m pip install --upgrade pip
59+
python -m pip install roberto>=2.0.0
60+
- name: Test with Roberto
61+
run: |
62+
if [[ -n "${GITHUB_HEAD_REF}" ]]; then
63+
ROBERTO_GIT_MERGE_BRANCH=${GITHUB_SHA} \
64+
ROBERTO_GIT_BRANCH=${GITHUB_BASE_REF} \
65+
python -m roberto
66+
else
67+
ROBERTO_TESTENV_USE=venv \
68+
python -m roberto robot
69+
fi
70+
71+
72+
test-conda:
73+
# This is a slow test in a Conda environment, including deployment of
74+
# tagged releases.
75+
timeout-minutes: 30
76+
if: (github.ref == 'refs/heads/master') || startsWith(github.ref, 'refs/tags')
77+
strategy:
78+
fail-fast: false
79+
80+
runs-on: ubuntu-latest
81+
env:
82+
ROBERTO_UPLOAD_COVERAGE: 1
83+
ROBERTO_PACKAGE_MANAGER: conda
84+
ROBERTO_TESTENV_USE: conda
85+
ROBERTO_DEPLOY_NOARCH: 1
86+
TWINE_USERNAME: theochem
87+
TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }}
88+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
89+
ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
90+
steps:
91+
- uses: actions/checkout@v3
92+
- uses: actions/cache@v2
93+
with:
94+
path: |
95+
~/miniconda3
96+
!~/miniconda3/conda-bld
97+
!~/miniconda3/locks
98+
!~/miniconda3/pkgs
99+
!~/miniconda3/var
100+
!~/miniconda3/envs/*/conda-bld
101+
!~/miniconda3/envs/*/locks
102+
!~/miniconda3/envs/*/pkgs
103+
!~/miniconda3/envs/*/var
104+
key: ${{ runner.os }}-conda-3
105+
- name: Install Roberto
106+
run: |
107+
python -m pip install roberto>=2.0.0
108+
- name: Test and deploy with Roberto
109+
run: |
110+
python -m roberto robot

.github/workflows/ci_tox.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: CI Tox
2+
on:
3+
workflow_dispatch: # Needed to manually run github actions
4+
push:
5+
pull_request:
6+
branches: [ master ]
7+
8+
jobs:
9+
test:
10+
name: test ${{ matrix.py }} - ${{ matrix.os }}
11+
runs-on: ${{ matrix.os }}-latest
12+
strategy:
13+
fail-fast: false # If anything in the matrix fails, then everything queued and in-progress will canceled
14+
matrix:
15+
# Which environment and python versions to be runned on.
16+
os: [ubuntu macos windows]
17+
py: ["3.7", "3.8", "3.9", "3.10", "3.11"]
18+
19+
steps:
20+
- uses: actions/checkout@v3
21+
- name: Setup python for test ${{ matrix.py }}
22+
uses: actions/setup-python@v4
23+
with:
24+
python-version: ${{ matrix.py }}
25+
- name: Install tox-gh
26+
run: |
27+
python -m pip install --upgrade pip
28+
pip install tox tox-gh-actions
29+
- name: Setup test suite
30+
run: tox r -vv --notest # r means run environments, -vv verbose --notest skip invoking test commands.
31+
- name: Run test suite
32+
# --skip-pkg-install skips installing the package
33+
run: tox r --skip-pkg-install
34+
env:
35+
PYTEST_ADDOPTS: "-vv --durations=10"

.gitignore

Lines changed: 71 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,40 @@
44
*.gz
55
*.png
66

7+
# Prerequisites
8+
*.d
9+
10+
# Compiled object files
11+
*.slo
12+
*.lo
13+
*.o
14+
*.obj
15+
16+
# Precompiled headers
17+
*.gch
18+
*.pch
19+
20+
# Compiled dynamic libraries
21+
*.so
22+
*.so.[0-9]*
23+
*.dylib
24+
*.dll
25+
26+
# Fortran module files
27+
*.mod
28+
*.smod
29+
30+
# Compiled static libraries
31+
*.lai
32+
*.la
33+
*.a
34+
*.lib
35+
36+
# Executables
37+
*.exe
38+
*.out
39+
*.app
40+
741
# Ignore autogenerated version.py
842
grid/version.py
943

@@ -22,7 +56,6 @@ doc/tech_dev_git.rst
2256

2357
# Ignore (in-place) build results
2458
cext.cpp
25-
*.so
2659
*.pyc
2760
build
2861
dist
@@ -57,3 +90,40 @@ qaworkdir
5790

5891
# Ignore tox
5992
.tox
93+
94+
95+
# Byte-compiled / optimized / DLL files
96+
__pycache__/
97+
*.py[cod]
98+
*$py.class
99+
100+
# Distribution / packaging
101+
.Python
102+
build/
103+
develop-eggs/
104+
dist/
105+
downloads/
106+
eggs/
107+
.eggs/
108+
lib/
109+
lib64/
110+
parts/
111+
sdist/
112+
var/
113+
wheels/
114+
.installed.cfg
115+
*.egg-info/
116+
*.egg
117+
*.manifest
118+
*.spec
119+
pip-log.txt
120+
pip-delete-this-directory.txt
121+
# Unit test / coverage reports
122+
htmlcov/
123+
.tox/
124+
.coverage.*
125+
.cache
126+
nosetests.xml
127+
coverage.xml
128+
*,cover
129+
.pytest_cache/

.roberto.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
absolute: true # Force absolute comparison for cardboardlint
2+
project:
3+
name: grid
4+
# requirements: [[numpydoc, numpydoc], [sphinx-autoapi, sphinx-autoapi], [sphinxcontrib-bibtex, sphinxcontrib-bibtex]]
5+
packages:
6+
- dist_name: qc-grid
7+
tools:
8+
- write-py-version
9+
# - cardboardlint-static
10+
- build-py-inplace
11+
- pytest
12+
# - upload-codecov
13+
# - cardboardlint-dynamic
14+
# - build-sphinx-doc
15+
# - upload-docs-gh
16+
- build-py-source
17+
- build-conda
18+
- deploy-pypi
19+
- deploy-conda
20+
# - deploy-github

README.md

Lines changed: 25 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,42 @@
1-
# GRID
2-
[![Build Status](https://travis-ci.org/theochem/grid.svg?branch=master)](https://travis-ci.org/theochem/grid)
3-
[![Build Status](https://dev.azure.com/yxt1991/Grid/_apis/build/status/theochem.grid?branchName=master)](https://dev.azure.com/yxt1991/Grid/_build/latest?definitionId=2&branchName=master)
4-
[![codecov](https://codecov.io/gh/theochem/grid/branch/master/graph/badge.svg)](https://codecov.io/gh/theochem/grid)<br/>
1+
# Grid
2+
53
[![Python Version](https://img.shields.io/badge/python-3.6%2B-blue.svg)](https://docs.python.org/3/whatsnew/3.6.html)
6-
[![GPLv3 license](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://github.com/theochem/grid/blob/master/LICENSE)
4+
[![GPLv3 License](https://img.shields.io/badge/License-GPL%20v3-yellow.svg)](https://opensource.org/licenses/)
5+
[![GitHub Actions CI Tox Status](https://github.com/theochem/grid/actions/workflows/ci_tox.yml/badge.svg?branch=master)](https://github.com/theochem/grid/actions/workflows/ci_tox.yml)
6+
[![codecov](https://codecov.io/gh/theochem/grid/branch/master/graph/badge.svg)](https://codecov.io/gh/theochem/grid)
77
[![GitHub contributors](https://img.shields.io/github/contributors/theochem/grid.svg)](https://github.com/theochem/grid/graphs/contributors)
88
[![Code Style](https://img.shields.io/badge/code%20style-black-black.svg)](https://black.readthedocs.io/en/stable/)
99

1010
## About
11-
GRID is a pythonic numerical integral package. It derived from legacy HORTON 2 numerical integration module.
11+
Grid is a simple, free, and open-source Python library for numerical integration, interpolation and differentiation.
12+
Primarly intended for the quantum chemistry community to assist in density-functional (DFT) theory calculations,
13+
including support for periodic boundary conditions.
14+
15+
Please visit [**Grid Documentation**](https://grid.qcdevs.org/) for more information with
16+
examples about the software.
1217

13-
## Platform
14-
GRID is a pure python package supporting `Windows`, `Linux` and `MacOS`.
18+
To report any issues or ask questions, either [open an issue](
19+
https://github.com/theochem/grid/issues/new) or email [qcdevs@gmail.com]().
1520

16-
## Functionality
17-
* 1d integral
18-
* 1d transformation
19-
* Spherical integral
20-
* Becke-Lebedev grid & Molecular integral
21-
* Interpolation & differentiation
22-
* General ODE solver and Poisson solver
2321

24-
## License
25-
GRID is distributed under [GPL License version 3](https://github.com/theochem/grid/blob/master/LICENSE) (GPL v3).
22+
## Citation
23+
Please use the following citation in any publication using BFit library:
2624

27-
## Dependence
28-
* Installation requirements: `numpy`, `scipy`, `importlib_resources`
29-
* Testing requirement: `pytest`
30-
* QA requirement: `tox`
25+
> **"Grid: A Python Library for Molecular Integration, Interpolation, and More"**,
26+
> X.D. Yang, A. Tehrani, L. Pujal, R. Hernández-Esparza,
27+
> M. Chan, E. Vöhringer-Martinez, T. Verstraelen, F. Heidar-Zadeh, P. W. Ayers
28+
> `REFERENCE <https://doi.org/TODO>`__.
3129
3230
## Installation
33-
To install GRID to system:
34-
```bash
35-
pip install .
36-
```
37-
To run tests:
38-
```bash
39-
pytest --pyargs grid
40-
```
4131

42-
## Local build and Testing
43-
To install editable GRID locally:
44-
```bash
45-
pip install -e .
46-
```
47-
To run tests:
32+
Installation via pip can be done by the following command:
4833
```bash
49-
pytest tests
34+
pip install qc-grid
5035
```
5136

52-
## Quality Assurance
53-
To run QA locally:
37+
Local installation can be done as:
5438
```bash
55-
tox
39+
git clone https://github.com/theochem/grid.git
40+
cd grid
41+
pip install .
5642
```
57-
58-
## Funding Acknowledgement
59-
This software was developed using funding from a variety of international
60-
sources including, but not limited to:
61-
* Canarie
62-
* the Canada Research Chairs
63-
* Compute Canada
64-
* the European Union's Horizon 2020 Marie Sklodowska-Curie Actions (Individual Fellowship No 800130)
65-
* the Foundation of Scientific Research--Flanders (FWO)
66-
* McMaster University
67-
* the National Fund for Scientific and Technological Development of Chile (FONDECYT)
68-
* the Natural Sciences and Engineering Research Council of Canada (NSERC)
69-
* the Research Board of Ghent University (BOF)
70-
* Sharcnet

0 commit comments

Comments
 (0)