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
3 changes: 3 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[flake8]
max-line-length = 99
exclude = .tox, .git, __pycache__, .ipynb_checkpoints
4 changes: 2 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ jobs:
with:
python-version: ${{ matrix.python-version }}
- name: Install package and dependencies
run: pip install invoke rundoc .
run: pip install invoke rundoc tomli .
- name: invoke readme
run: invoke readme

Expand Down Expand Up @@ -119,6 +119,6 @@ jobs:
name: Install dependencies - Windows with Python 3.6
run: python -m pip install pywinpty==2.0.1
- name: Install package and dependencies
run: pip install invoke jupyter matplotlib .
run: pip install invoke jupyter matplotlib tomli .
- name: invoke tutorials
run: invoke tutorials
7 changes: 2 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -81,11 +81,9 @@ install-test: clean-build clean-pyc ## install the package and test dependencies
install-develop: clean-build clean-pyc ## install the package in editable mode and dependencies for development
pip install -e .[dev]

MINIMUM := $(shell sed -n '/install_requires = \[/,/]/p' setup.py | grep -v -e '[][]' | sed 's/ *\(.*\),$?$$/\1/g' | tr '>' '=')

.PHONY: install-minimum
install-minimum: ## install the minimum supported versions of the package dependencies
pip install $(MINIMUM)
invoke install_minimum

.PHONY: check-dependencies
check-dependencies: ## test if there are any broken dependencies
Expand Down Expand Up @@ -164,8 +162,7 @@ serve-docs: view-docs ## compile the docs watching for changes

.PHONY: dist
dist: clean ## builds source and wheel package
python setup.py sdist
python setup.py bdist_wheel
python -m build --wheel --sdist
ls -l dist

.PHONY: publish-confirm
Expand Down
193 changes: 193 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,193 @@
# Project Metadata

[project]
name = 'orion'
description='Orion is a machine learning library built for unsupervised time series anomaly detection.'
authors = [{ name = 'MIT Data To AI Lab', email = 'dailabmit@gmail.com' }]
classifiers = [
'Development Status :: 2 - Pre-Alpha',
'Intended Audience :: Developers',
'License :: OSI Approved :: MIT License',
'Natural Language :: English',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
]
keywords = ['orion', 'anomaly-detection', 'timeseries']
version='0.6.1.dev0'
license = { text = 'MIT license' }
requires-python = '>=3.8,<3.12'
readme = 'README.md'
dependencies = [
'tensorflow>=2.2,<2.15',
'numpy>=1.17.5,<2',
'pandas>=1,<2',
'numba>=0.48,<0.60',
's3fs>=0.2.2,<0.5',
'mlblocks>=0.6.1,<0.7',
'ml-stars>=0.2,<0.3',
'scikit-learn>=0.22.1,<1.2',
'tabulate>=0.8.3,<0.9',
'pyts>=0.11,<0.14',
'torch>=1.4',
'azure-cognitiveservices-anomalydetector>=0.3,<0.4',
'xlsxwriter>=1.3.6,<1.4',
'tqdm>=4.36.1',
'stumpy>=1.7,<1.11',
'ncps',

# fix conflict
'protobuf<4',

# fails on python 3.6
'opencv-python<4.7',
]

[project.optional-dependencies]
test = [
'pytest>=3.4.2',
'pytest-cov>=2.6.0',
'rundoc>=0.4.3,<0.5',
'pytest-runner>=2.11.1',
'tomli>=2.0.0,<3',
]
dev = [
'orion[test]',

# general
'pip>=9.0.1',
'bumpversion>=0.5.3,<0.6',
'watchdog>=0.8.3,<0.11',

# docs
'docutils>=0.12,<0.18',
'm2r2>=0.2.5,<0.3',
'nbsphinx>=0.5.0,<0.7',
'Sphinx>=3,<3.3',
'pydata-sphinx-theme<0.5',
'markupsafe<2.1.0',
'ipython>=6.5,<9',
'Jinja2>=2,<3',

# fails on Sphinx < v3.4
'alabaster<=0.7.12',
# fails on Sphins < v5.0
'sphinxcontrib-applehelp<1.0.8',
'sphinxcontrib-devhelp<1.0.6',
'sphinxcontrib-htmlhelp<2.0.5',
'sphinxcontrib-serializinghtml<1.1.10',
'sphinxcontrib-qthelp<1.0.7',

# style check
'flake8>=3.7.7,<4',
'isort>=4.3.4,<5',

# fix style issues
'autoflake>=1.2,<2',
'autopep8>=1.4.3,<2',
'importlib-metadata<5',

# distribute on PyPI
'twine>=1.10.0,<4',
'wheel>=0.30.0',

# Advanced testing
'coverage>=4.5.1,<6',
'tox>=2.9.1,<4',
'invoke',
]

[project.urls]
"Source Code"= "https://github.com/sintel-dev/Orion/"
"Issue Tracker" = "https://github.com/sintel-dev/Orion/issues"
"Changes" = "https://github.com/sintel-dev/Orion/blob/main/HISTORY.md"
"Chat" = "https://join.slack.com/t/sintel-space/shared_invite/zt-q147oimb-4HcphcxPfDAM0O9_4PaUtw"

[project.entry-points]
orion = { main = 'orion.__main__:main' }
mlblocks = { primitives = 'orion:MLBLOCKS_PRIMITIVES', pipelines = 'orion:MLBLOCKS_PIPELINES' }

[tool.setuptools]
include-package-data = true
license-files = ['LICENSE']

[tool.setuptools.packages.find]
include = ['orion', 'orion.*']
namespaces = false

[tool.setuptools.package-data]
'*' = [
'AUTHORS.rst',
'CONTRIBUTING.rst',
'HISTORY.md',
'README.md',
'*.md',
'*.rst',
'conf.py',
'Makefile',
'make.bat',
'*.jpg',
'*.png',
'*.gif'
]
'tests' = ['*']

[tool.setuptools.exclude-package-data]
'*' = [
'* __pycache__',
'*.py[co]',
]

[tool.setuptools.dynamic]
version = {attr = 'orion.__version__'}

[tool.isort]
line_length = 99
lines_between_types = 0
multi_line_output = 4
not_skip = ['__init__.py']
use_parentheses = true
include_trailing_comment = true

[tool.pytest.ini_options]
collect_ignore = ['pyproject.toml']

[tool.bumpversion]
current_version = '0.6.1.dev0'
parse = '(?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\.(?P<release>[a-z]+)(?P<candidate>\d+))?'
serialize = [
'{major}.{minor}.{patch}.{release}{candidate}',
'{major}.{minor}.{patch}'
]
search = '{current_version}'
replace = '{new_version}'
regex = false
ignore_missing_version = false
tag = true
sign_tags = false
tag_name = 'v{new_version}'
tag_message = 'Bump version: {current_version} → {new_version}'
allow_dirty = false
commit = true
message = 'Bump version: {current_version} → {new_version}'
commit_args = ''

[tool.bumpversion.parts.release]
first_value = 'dev'
optional_value = 'release'
values = [
'dev',
'release'
]

[tool.bumpversion.files]
filename = "orion/__init__.py"
search = "__version__ = '{current_version}'"
replace = "__version__ = '{new_version}'"

[build-system]
requires = ['setuptools', 'wheel']
build-backend = 'setuptools.build_meta'

47 changes: 0 additions & 47 deletions setup.cfg

This file was deleted.

Loading