Skip to content

Commit 99fb113

Browse files
committed
Merge branch 'fathon-dev'
2 parents f0408fc + d85db8f commit 99fb113

Some content is hidden

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

60 files changed

+675
-581
lines changed

.appveyor.yml

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
branches:
2+
only:
3+
- master
4+
5+
environment:
6+
global:
7+
PYTHON: "C:\\Python37-x64"
8+
PYTHON_VERSION: "3.7.x"
9+
PYTHON_ARCH: "64"
10+
CIBW_BUILD_VERBOSITY: 1
11+
CIBW_TEST_REQUIRES: pytest
12+
CIBW_TEST_COMMAND: "pytest %APPVEYOR_BUILD_FOLDER%\\tests"
13+
CIBW_BEFORE_BUILD: "python -m pip install -r requirements.txt"
14+
15+
matrix:
16+
- CIBW_BUILD: "cp35-win_amd64"
17+
- CIBW_BUILD: "cp36-win_amd64"
18+
- CIBW_BUILD: "cp37-win_amd64"
19+
- CIBW_BUILD: "cp38-win_amd64"
20+
- CIBW_BUILD: "cp39-win_amd64"
21+
22+
stack: python 3.7
23+
24+
init:
25+
- cmd: PATH=%PYTHON%;%PYTHON%\Scripts;%PATH%
26+
27+
install:
28+
### GSL ###
29+
- cd C:\Tools\vcpkg
30+
- git pull
31+
- .\bootstrap-vcpkg.bat
32+
- .\vcpkg integrate install
33+
- .\vcpkg.exe install gsl:x64-windows-static
34+
- md %APPVEYOR_BUILD_FOLDER%\fathon\3rd_party\gsl\include
35+
- xcopy C:\Tools\vcpkg\packages\gsl_x64-windows-static\include %APPVEYOR_BUILD_FOLDER%\fathon\3rd_party\gsl\include /f /s /e
36+
- md %APPVEYOR_BUILD_FOLDER%\fathon\3rd_party\gsl\lib
37+
- xcopy C:\Tools\vcpkg\packages\gsl_x64-windows-static\lib %APPVEYOR_BUILD_FOLDER%\fathon\3rd_party\gsl\lib /f /s /e
38+
### PYTHON ###
39+
- "python -m pip install --upgrade pip"
40+
- "python -m pip install --upgrade cibuildwheel"
41+
- "python -m pip install --upgrade twine"
42+
43+
build_script:
44+
- cd %APPVEYOR_BUILD_FOLDER%
45+
- "python --version"
46+
- "python -c \"import struct; print(struct.calcsize('P') * 8)\""
47+
- "python -m pip --version"
48+
- "python -m twine --version"
49+
- "python -m cibuildwheel --output-dir wheelhouse"
50+
- dir wheelhouse
51+
- ps: >-
52+
if ($env:PYPI_UPLOAD -eq "test") {
53+
python -m twine upload --skip-existing wheelhouse\* --repository-url https://test.pypi.org/legacy/ -u $env:TEST_PYPI_USR -p $env:TEST_PYPI_PWD
54+
} elseif ($env:PYPI_UPLOAD -eq "release") {
55+
python -m twine upload --skip-existing wheelhouse\* -u $env:PYPI_USR -p $env:PYPI_PWD
56+
}

.travis.yml

+170-35
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,70 @@ env:
1111

1212
matrix:
1313
include:
14-
# ===== Linux ======
15-
#- name: "Python 3.7 on Linux"
16-
# env:
17-
# - CIBW_BUILD="cp35-manylinux* cp36-manylinux* cp37-manylinux* cp38-manylinux*"
18-
# - CIBW_SKIP: "*-manylinux_i686"
19-
# language: python
20-
# dist: xenial
21-
# sudo: required
22-
# python: "3.7"
23-
# services:
24-
# - docker
25-
# ===== Linux ======
26-
- name: "Python 3.7 on Linux"
14+
##### Linux #####
15+
##### ARM #####
16+
### 3.5 ###
17+
- name: "Python 3.5 on Linux arm64"
18+
arch:
19+
- arm64
2720
env:
21+
- CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014
22+
- CIBW_BUILD="cp35-manylinux*"
23+
- CIBW_SKIP: "*-manylinux_i686"
24+
language: python
25+
dist: xenial
26+
sudo: required
27+
python: "3.7"
28+
services:
29+
- docker
30+
### 3.6 ###
31+
- name: "Python 3.6 on Linux arm64"
32+
arch:
33+
- arm64
34+
env:
35+
- CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014
36+
- CIBW_BUILD="cp36-manylinux*"
37+
- CIBW_SKIP: "*-manylinux_i686"
38+
language: python
39+
dist: xenial
40+
sudo: required
41+
python: "3.7"
42+
services:
43+
- docker
44+
### 3.7 ###
45+
- name: "Python 3.7 on Linux arm64"
46+
arch:
47+
- arm64
48+
env:
49+
- CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014
50+
- CIBW_BUILD="cp37-manylinux*"
51+
- CIBW_SKIP: "*-manylinux_i686"
52+
language: python
53+
dist: xenial
54+
sudo: required
55+
python: "3.7"
56+
services:
57+
- docker
58+
### 3.8 ###
59+
- name: "Python 3.8 on Linux arm64"
60+
arch:
61+
- arm64
62+
env:
63+
- CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014
64+
- CIBW_BUILD="cp38-manylinux*"
65+
- CIBW_SKIP: "*-manylinux_i686"
66+
language: python
67+
dist: xenial
68+
sudo: required
69+
python: "3.7"
70+
services:
71+
- docker
72+
### 3.9 ###
73+
- name: "Python 3.9 on Linux arm64"
74+
arch:
75+
- arm64
76+
env:
77+
- CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014
2878
- CIBW_BUILD="cp39-manylinux*"
2979
- CIBW_SKIP: "*-manylinux_i686"
3080
language: python
@@ -33,27 +83,108 @@ matrix:
3383
python: "3.7"
3484
services:
3585
- docker
36-
# ======= macOS ========
37-
#- name: "Python 3.7 on macOS 10.14 (1)"
38-
# env:
39-
# - CIBW_BUILD="cp35-macosx* cp36-macosx*"
40-
# os: osx
41-
# osx_image: xcode10.2
42-
# language: shell
43-
# ======= macOS ========
44-
#- name: "Python 3.7 on macOS 10.14 (2)"
45-
# env:
46-
# - CIBW_BUILD="cp37-macosx* cp38-macosx*"
47-
# os: osx
48-
# osx_image: xcode10.2
49-
# language: shell
50-
# ======= macOS ========
51-
#- name: "Python 3.7 on macOS 10.14 (3)"
52-
# env:
53-
# - CIBW_BUILD="cp39-macosx*"
54-
# os: osx
55-
# osx_image: xcode10.2
56-
# language: shell
86+
##### x86_64 #####
87+
### 3.5 ###
88+
- name: "Python 3.5 on Linux amd64"
89+
arch:
90+
- amd64
91+
env:
92+
- CIBW_BUILD="cp35-manylinux*"
93+
- CIBW_SKIP: "*-manylinux_i686"
94+
language: python
95+
dist: xenial
96+
sudo: required
97+
python: "3.7"
98+
services:
99+
- docker
100+
### 3.6 ###
101+
- name: "Python 3.6 on Linux amd64"
102+
arch:
103+
- amd64
104+
env:
105+
- CIBW_BUILD="cp36-manylinux*"
106+
- CIBW_SKIP: "*-manylinux_i686"
107+
language: python
108+
dist: xenial
109+
sudo: required
110+
python: "3.7"
111+
services:
112+
- docker
113+
### 3.7 ###
114+
- name: "Python 3.7 on Linux amd64"
115+
arch:
116+
- amd64
117+
env:
118+
- CIBW_BUILD="cp37-manylinux*"
119+
- CIBW_SKIP: "*-manylinux_i686"
120+
language: python
121+
dist: xenial
122+
sudo: required
123+
python: "3.7"
124+
services:
125+
- docker
126+
### 3.8 ###
127+
- name: "Python 3.8 on Linux amd64"
128+
arch:
129+
- amd64
130+
env:
131+
- CIBW_BUILD="cp38-manylinux*"
132+
- CIBW_SKIP: "*-manylinux_i686"
133+
language: python
134+
dist: xenial
135+
sudo: required
136+
python: "3.7"
137+
services:
138+
- docker
139+
### 3.9 ###
140+
- name: "Python 3.9 on Linux amd64"
141+
arch:
142+
- amd64
143+
env:
144+
- CIBW_BUILD="cp39-manylinux*"
145+
- CIBW_SKIP: "*-manylinux_i686"
146+
language: python
147+
dist: xenial
148+
sudo: required
149+
python: "3.7"
150+
services:
151+
- docker
152+
##### macOS #####
153+
### 3.5 ###
154+
- name: "Python 3.5 on macOS 10.14"
155+
env:
156+
- CIBW_BUILD="cp35-macosx*"
157+
os: osx
158+
osx_image: xcode10.2
159+
language: shell
160+
### 3.6 ###
161+
- name: "Python 3.6 on macOS 10.14"
162+
env:
163+
- CIBW_BUILD="cp36-macosx*"
164+
os: osx
165+
osx_image: xcode10.2
166+
language: shell
167+
### 3.7 ###
168+
- name: "Python 3.7 on macOS 10.14"
169+
env:
170+
- CIBW_BUILD="cp37-macosx*"
171+
os: osx
172+
osx_image: xcode10.2
173+
language: shell
174+
### 3.8 ###
175+
- name: "Python 3.8 on macOS 10.14"
176+
env:
177+
- CIBW_BUILD="cp38-macosx*"
178+
os: osx
179+
osx_image: xcode10.2
180+
language: shell
181+
### 3.9 ###
182+
- name: "Python 3.9 on macOS 10.14"
183+
env:
184+
- CIBW_BUILD="cp39-macosx*"
185+
os: osx
186+
osx_image: xcode10.2
187+
language: shell
57188

58189
before_install:
59190
- python3 --version
@@ -70,4 +201,8 @@ script:
70201
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
71202
pip install twine;
72203
fi
73-
- twine upload --skip-existing wheelhouse/* -u ${PYPI_USR} -p ${PYPI_PWD}
204+
- if [ "$PYPI_UPLOAD" = "test" ]; then
205+
twine upload --skip-existing wheelhouse/* --repository-url https://test.pypi.org/legacy/ -u ${TEST_PYPI_USR} -p ${TEST_PYPI_PWD};
206+
elif [ "$PYPI_UPLOAD" = "release" ]; then
207+
twine upload --skip-existing wheelhouse/* -u ${PYPI_USR} -p ${PYPI_PWD};
208+
fi

README.md

+12-5
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
# fathon [![Build Status](https://travis-ci.org/stfbnc/fathon.svg?branch=master)](https://travis-ci.org/stfbnc/fathon)
1+
# fathon [![Build Status](https://travis-ci.org/stfbnc/fathon.svg?branch=master)](https://travis-ci.org/stfbnc/fathon)[![Build status](https://ci.appveyor.com/api/projects/status/tl2a8c84bbvxu37p?svg=true)](https://ci.appveyor.com/project/stfbnc/fathon)
22

33
[![Issues](https://img.shields.io/github/issues-raw/stfbnc/fathon.svg?maxAge=25000)](https://github.com/stfbnc/fathon/issues) [![GitHub stars](https://img.shields.io/github/stars/stfbnc/fathon.svg?style=social&label=Stars&style=plastic)]() [![GitHub forks](https://img.shields.io/github/forks/stfbnc/fathon.svg?style=social&label=Fork&style=plastic)]() [![Python 3.5+](https://img.shields.io/badge/python-3.5+-blue.svg)](https://www.python.org/)
44

55
[![DOI](https://zenodo.org/badge/214290119.svg)](https://zenodo.org/badge/latestdoi/214290119) [![DOI](https://joss.theoj.org/papers/10.21105/joss.01828/status.svg)](https://doi.org/10.21105/joss.01828)
66

77

88

9-
:warning::warning: At the moment, `fathon` is only available for Linux (64 bit) and macOS :warning::warning:
10-
119
`fathon` is a python package for DFA (*Detrended Fluctuation Analysis*) and related algorithms.
1210

1311
It is mostly written in Cython and C in order to speed up computations.
@@ -27,8 +25,13 @@ It is mostly written in Cython and C in order to speed up computations.
2725

2826
### Prerequisites
2927

30-
- Python 3.5 or higher
28+
| Linux i686 | Linux x86_64 | Linux ARM64 | macOS x86_64 | Windows 32bit | Windows 64bit |
29+
| :--------: | :----------------: | :----------------: | :----------------: | :-----------: | :-----------------: |
30+
| :x: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark:* |
31+
32+
<sub>*It is possible that OpenMP was not activated during compilation, so `fathon` could run slower on Windows compared to macOS and Linux</sub>
3133

34+
- Python 3.5 or higher
3235
- numpy (version >= 1.15)
3336
- Cython
3437

@@ -60,10 +63,14 @@ Bianchi, S., (2020). fathon: A Python package for a fast computation of detrend
6063

6164
## Version [![PyPI version](https://badge.fury.io/py/fathon.svg)](https://badge.fury.io/py/fathon)
6265

63-
fathon v1.1
66+
fathon v1.2
6467

6568
## Changelog
6669

70+
#### v1.2
71+
72+
- few adjustments to C extensions for Windows' C compiler compatibility
73+
6774
#### v1.1
6875

6976
- save object state to binary file and reload it later

docs/Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# You can set these variables from the command line, and also
55
# from the environment for the first two.
66
SPHINXOPTS ?=
7-
SPHINXBUILD ?= "$(HOME)/.local/bin/sphinx-build"
7+
SPHINXBUILD ?= "/anaconda3/bin/sphinx-build"
88
SOURCEDIR = .
99
BUILDDIR = _build
1010

-2.14 KB
Binary file not shown.
Binary file not shown.
-1.94 KB
Binary file not shown.
-1.02 KB
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

docs/_build/doctrees/index.doctree

16 Bytes
Binary file not shown.

docs/_build/html/.buildinfo

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Sphinx build info version 1
22
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3-
config: bf8bc797bceb48fe5abc3d1b252c1993
3+
config: 3f3a3a407d4e9d370d01da6a59f49d6a
44
tags: 645f666f9bcd5a90fca523b33c5a78b7

docs/_build/html/_sources/fun_class/fathon.DCCA.rst.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Usage examples
3333
#initialize non-empty dcca object
3434
pydcca = fathon.DCCA(a, b)
3535
#compute fluctuation function and Hurst exponent
36-
wins = fu.linRangeByStep(20, 100, step=50)
36+
wins = fu.linRangeByStep(20, 1000, step=50)
3737
n, F = pydcca.computeFlucVec(wins, polOrd=1)
3838
H, H_intercept = pydcca.fitFlucVec()
3939

docs/_build/html/_sources/index.rst.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
You can adapt this file completely to your liking, but it should at least
44
contain the root `toctree` directive.
55
6-
fathon (v1.1)
6+
fathon (v1.2)
77
***************
88

9-
Current version is available for Linux (64 bit) and macOS only.
9+
Current version is available for Linux (x86_64 and ARM64), macOS, and Windows (64bit).
1010

1111
Python package for detrended fluctuation analysis (DFA) and related algorithms.
1212
`fathon` provides four main algorithms, namely

0 commit comments

Comments
 (0)