Mod: update packages

Mov: documentation
This commit is contained in:
L-Nafaryus 2021-12-31 20:01:59 +05:00
parent 29a9a7fa7f
commit b41c730e48
No known key found for this signature in database
GPG Key ID: C76D8DCD2727DBB7
47 changed files with 174 additions and 209 deletions

3
.gitignore vendored
View File

@ -23,3 +23,6 @@ env/
.coverage .coverage
.venv .venv
.pytest_cache .pytest_cache
dist/
doc/anisotropy/*
!doc/anisotropy/.gitkeep

View File

@ -8,5 +8,5 @@
"python.linting.enabled": true, "python.linting.enabled": true,
"python.linting.pylintEnabled": false, "python.linting.pylintEnabled": false,
"python.linting.flake8Enabled": true, "python.linting.flake8Enabled": true,
"python.linting.flake8Args": ["--ignore=E402,E251,E501", "--verbose"] "python.linting.flake8Args": ["--ignore=E402,E251,E501,E201,E202,W293,W291", "--verbose"]
} }

View File

@ -17,10 +17,10 @@ __repository__ = "https://github.com/L-Nafaryus/anisotropy"
### ###
# Environment # Environment
## ##
import os from os import path, environ
from os import path
PROJECT = path.abspath(path.dirname(__file__))
PROJECT = path.abspath(path.dirname(__file__))
TMP = "/tmp/anisotropy" TMP = "/tmp/anisotropy"
env = { env = {
@ -33,10 +33,12 @@ env = {
"DB_FILE": "anisotropy.db" "DB_FILE": "anisotropy.db"
} }
def loadEnv(): def loadEnv():
prefix = "ANISOTROPY_" prefix = "ANISOTROPY_"
for k, v in env.items(): for k, v in env.items():
os.environ[f"{ prefix }{ k }"] = v environ[f"{ prefix }{ k }"] = v
del os, path, PROJECT, TMP
del path, PROJECT, TMP

View File

@ -1,3 +0,0 @@
# Example of anisotropy bashrc entries (modify it)
export PATH="${HOME}/programs/salome/SALOME-9.7.0-MPI:${PATH}"
source "${HOME}/programs/OpenFOAM/OpenFOAM-v2012/etc/bashrc"

View File

@ -1,50 +0,0 @@
# -*- coding: utf-8 -*-
# This file is part of anisotropy.
# License: GNU GPL version 3, see the file "LICENSE" for details.
[logger]
name = "anisotropy"
format = "[ %(levelname)s ] %(message)s"
[base]
simple = true
bodyCentered = true
faceCentered = true
[[structures]]
type = "simple"
theta = [0.01, 0.28]
thetaStep = 0.01
directions = [
[1, 0, 0],
[0, 0, 1],
[1, 1, 1]
]
r0 = 1
filletsEnabled = true
[[structures]]
type = "bodyCentered"
theta = [0.01, 0.17]
thetaStep = 0.01
directions = [
[1, 0, 0],
[0, 0, 1],
[1, 1, 1]
]
r0 = 1
filletsEnabled = true
[[structures]]
type = "faceCentered"
theta = [0.01, 0.12]
thetaStep = 0.01
directions = [
[1, 0, 0],
[0, 0, 1],
[1, 1, 1]
]
r0 = 1
filletsEnabled = true

View File

@ -3,4 +3,6 @@
# License: GNU GPL version 3, see the file "LICENSE" for details. # License: GNU GPL version 3, see the file "LICENSE" for details.
from .config import Config, DefaultConfig from .config import Config, DefaultConfig
from .parallel import ParallelRunner
from .runner import UltimateRunner from .runner import UltimateRunner
from .postProcess import PostProcess

View File

@ -218,7 +218,7 @@ def compute(path, configFile, nprocs, stage, overwrite, params, verbose, executi
count = True, count = True,
help = "Increase verbose level" help = "Increase verbose level"
) )
def gui(verbose): def gui(path, verbose):
import anisotropy import anisotropy
from anisotropy.core.utils import setupLogger from anisotropy.core.utils import setupLogger
from anisotropy.gui import app from anisotropy.gui import app

View File

@ -0,0 +1,72 @@
# -*- coding: utf-8 -*-
# This file is part of anisotropy.
# License: GNU GPL version 3, see the file "LICENSE" for details.
from multiprocessing import Queue, Process
import dill
class ParallelRunner(object):
def __init__(self, nprocs: int = 1, daemon: bool = True):
self.nprocs = nprocs
self.daemon = daemon
self.processes = []
self.queueInput = Queue(maxsize = 1)
self.queueOutput = Queue()
self.__pos = -1
self.output = []
def append(self, command, args = [], kwargs = {}):
self.__pos += 1
self.queueInput.put(dill.dumps((self.__pos, command, args, kwargs)))
def extend(self, commands: list, args: list = [], kwargs: list = []):
for command, cargs, ckwargs in zip(commands, args, kwargs):
self.append(command, cargs, ckwargs)
@staticmethod
def queueRelease(queueInput, queueOutput):
while True:
pos, command, args, kwargs = dill.loads(queueInput.get())
if pos is None or command is None:
break
output = command(*args, **kwargs)
queueOutput.put((pos, output))
def start(self):
for n in range(self.nprocs):
self.processes.append(Process(
target = self.queueRelease,
args = (self.queueInput, self.queueOutput),
name = f"worker-{ n + 1 }"
))
for proc in self.processes:
proc.daemon = self.daemon
proc.start()
def wait(self):
for _ in range(self.nprocs):
self.append(None)
self.output = [ [] for _ in range(self.queueOutput.qsize()) ]
for _ in range(self.queueOutput.qsize()):
pos, output = self.queueOutput.get()
self.output[pos] = output
for proc in self.processes:
proc.join()
self.__pos = -1

View File

@ -11,7 +11,8 @@ from anisotropy.core.config import DefaultConfig
import logging import logging
from anisotropy.core.postProcess import PostProcess from anisotropy.core.postProcess import PostProcess
from anisotropy.core.utils import ParallelRunner, Timer from anisotropy.core.utils import Timer
from anisotropy.core.parallel import ParallelRunner
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@ -3,14 +3,10 @@
# License: GNU GPL version 3, see the file "LICENSE" for details. # License: GNU GPL version 3, see the file "LICENSE" for details.
import logging import logging
from multiprocessing import Queue, Process, cpu_count
import dill
import socket
import copy import copy
import time import time
from types import FunctionType from types import FunctionType
import os
class CustomFormatter(logging.Formatter): class CustomFormatter(logging.Formatter):
def __init__(self, colors: bool = True): def __init__(self, colors: bool = True):
@ -34,7 +30,7 @@ class CustomFormatter(logging.Formatter):
return formats.get(level) return formats.get(level)
def format(self, record): def format(self, record):
info = "[%(levelname)s %(processName)s %(asctime)s %(funcName)s]" # [ %(processName)s ] info = "[%(levelname)s %(processName)s %(asctime)s %(funcName)s]" # [ %(processName)s ]
msg = " %(message)s" msg = " %(message)s"
if self.colors: if self.colors:
@ -121,7 +117,7 @@ class struct:
def deepupdate(target, src): def deepupdate(target, src):
for k, v in src.items(): for k, v in src.items():
if isinstance(v, dict): if isinstance(v, dict):
if not k in target: if k not in target:
target[k] = copy.deepcopy(v) target[k] = copy.deepcopy(v)
else: else:
@ -130,6 +126,7 @@ def deepupdate(target, src):
else: else:
target[k] = copy.copy(v) target[k] = copy.copy(v)
def collapse(source, key = None, level = 0, sep = "_"): def collapse(source, key = None, level = 0, sep = "_"):
if isinstance(source, dict) and source: if isinstance(source, dict) and source:
level = level + 1 level = level + 1
@ -138,7 +135,7 @@ def collapse(source, key = None, level = 0, sep = "_"):
for k, v in source.items(): for k, v in source.items():
ret, lvl = collapse(v, k, level) ret, lvl = collapse(v, k, level)
for kk,vv in ret.items(): for kk, vv in ret.items():
if level == lvl: if level == lvl:
newkey = k newkey = k
@ -156,6 +153,7 @@ def collapse(source, key = None, level = 0, sep = "_"):
else: else:
return { key: source }, level return { key: source }, level
def expand(source, sep = "_"): def expand(source, sep = "_"):
res = {} res = {}
@ -208,68 +206,3 @@ class Timer(object):
def elapsed(self): def elapsed(self):
return time.monotonic() - self.start return time.monotonic() - self.start
class ParallelRunner(object):
def __init__(self, nprocs: int = 1, daemon: bool = True):
self.nprocs = nprocs
self.daemon = daemon
self.processes = []
self.queueInput = Queue(maxsize = 1)
self.queueOutput = Queue()
self.__pos = -1
self.output = []
def append(self, command, args = [], kwargs = {}):
self.__pos += 1
self.queueInput.put(dill.dumps((self.__pos, command, args, kwargs)))
def extend(self, commands: list, args: list = [], kwargs: list = []):
for command, cargs, ckwargs in zip(commands, args, kwargs):
self.append(command, cargs, ckwargs)
@staticmethod
def queueRelease(queueInput, queueOutput):
while True:
pos, command, args, kwargs = dill.loads(queueInput.get())
if pos is None or command is None:
break
output = command(*args, **kwargs)
queueOutput.put((pos, output))
def start(self):
for n in range(self.nprocs):
self.processes.append(Process(
target = self.queueRelease,
args = (self.queueInput, self.queueOutput),
name = f"worker-{ n + 1 }"
))
for proc in self.processes:
proc.daemon = self.daemon
proc.start()
def wait(self):
for _ in range(self.nprocs):
self.append(None)
self.output = [ [] for _ in range(self.queueOutput.qsize()) ]
for _ in range(self.queueOutput.qsize()):
pos, output = self.queueOutput.get()
self.output[pos] = output
for proc in self.processes:
proc.join()
self.__pos = -1

View File

@ -1,3 +1,6 @@
# -*- coding: utf-8 -*-
# This file is part of anisotropy.
# License: GNU GPL version 3, see the file "LICENSE" for details.
from .main import app from .main import app

View File

@ -1,3 +1,6 @@
# -*- coding: utf-8 -*-
# This file is part of anisotropy.
# License: GNU GPL version 3, see the file "LICENSE" for details.
from dash import html from dash import html
from dash import dcc from dash import dcc

View File

@ -1,3 +1,6 @@
# -*- coding: utf-8 -*-
# This file is part of anisotropy.
# License: GNU GPL version 3, see the file "LICENSE" for details.
import dash import dash
import dash_bootstrap_components as dbc import dash_bootstrap_components as dbc

View File

@ -1,3 +1,6 @@
# -*- coding: utf-8 -*-
# This file is part of anisotropy.
# License: GNU GPL version 3, see the file "LICENSE" for details.
from dash import html from dash import html
from dash import dcc from dash import dcc

View File

@ -1,3 +1,6 @@
# -*- coding: utf-8 -*-
# This file is part of anisotropy.
# License: GNU GPL version 3, see the file "LICENSE" for details.
from dash.dash_table import DataTable from dash.dash_table import DataTable
from dash import html from dash import html

View File

@ -1,3 +1,6 @@
# -*- coding: utf-8 -*-
# This file is part of anisotropy.
# License: GNU GPL version 3, see the file "LICENSE" for details.
from dash import html from dash import html
from dash import dcc from dash import dcc

View File

@ -1,3 +1,6 @@
# -*- coding: utf-8 -*-
# This file is part of anisotropy.
# License: GNU GPL version 3, see the file "LICENSE" for details.
minWidth = { minWidth = {
"min-width": "200px", "min-width": "200px",
@ -47,10 +50,10 @@ misc = {
} }
logo = { logo = {
"color": "#ffffff", "color": "#ffffff",
"text-align": "center" "text-align": "center"
} }
white = { white = {
"color": "#ffffff" "color": "#ffffff"
} }

View File

@ -1,7 +1,10 @@
# -*- coding: utf-8 -*-
# This file is part of anisotropy.
# License: GNU GPL version 3, see the file "LICENSE" for details.
def getSize(bytes): def getSize(bytes):
for unit in ["", "K", "M", "G", "T", "P"]: for unit in ["", "K", "M", "G", "T", "P"]:
if bytes < 1024: if bytes < 1024:
return f"{bytes:.2f} {unit}iB" return f"{bytes:.2f} {unit}iB"
bytes /= 1024 bytes /= 1024

View File

@ -20,6 +20,7 @@ help:
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile %: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
[ -d "$(BUILDDIR)/html" ] && cp -vf "$(BUILDDIR)/html" anisotropy/
update: update:
@$(SPHINXAPIDOC) -f -o "$(SOURCEDIR)" "$(PROJECTDIR)" @$(SPHINXAPIDOC) -f -o "$(SOURCEDIR)" "$(PROJECTDIR)"

View File

Before

Width:  |  Height:  |  Size: 228 KiB

After

Width:  |  Height:  |  Size: 228 KiB

View File

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View File

Before

Width:  |  Height:  |  Size: 284 KiB

After

Width:  |  Height:  |  Size: 284 KiB

View File

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View File

Before

Width:  |  Height:  |  Size: 228 KiB

After

Width:  |  Height:  |  Size: 228 KiB

View File

117
poetry.lock generated
View File

@ -138,7 +138,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
name = "flake8" name = "flake8"
version = "4.0.1" version = "4.0.1"
description = "the modular source code checker: pep8 pyflakes and co" description = "the modular source code checker: pep8 pyflakes and co"
category = "main" category = "dev"
optional = false optional = false
python-versions = ">=3.6" python-versions = ">=3.6"
@ -258,7 +258,7 @@ setuptools_scm = ">=4"
name = "mccabe" name = "mccabe"
version = "0.6.1" version = "0.6.1"
description = "McCabe checker, plugin for flake8" description = "McCabe checker, plugin for flake8"
category = "main" category = "dev"
optional = false optional = false
python-versions = "*" python-versions = "*"
@ -355,6 +355,17 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[package.extras] [package.extras]
dev = ["pre-commit", "tox"] dev = ["pre-commit", "tox"]
[[package]]
name = "psutil"
version = "5.9.0"
description = "Cross-platform lib for process and system monitoring in Python."
category = "main"
optional = false
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[package.extras]
test = ["ipaddress", "mock", "unittest2", "enum34", "pywin32", "wmi"]
[[package]] [[package]]
name = "py" name = "py"
version = "1.11.0" version = "1.11.0"
@ -367,7 +378,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
name = "pycodestyle" name = "pycodestyle"
version = "2.8.0" version = "2.8.0"
description = "Python style guide checker" description = "Python style guide checker"
category = "main" category = "dev"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
@ -386,7 +397,7 @@ stdlib-list = "*"
name = "pyflakes" name = "pyflakes"
version = "2.4.0" version = "2.4.0"
description = "passive checker of Python programs" description = "passive checker of Python programs"
category = "main" category = "dev"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
@ -417,34 +428,6 @@ category = "main"
optional = false optional = false
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
[[package]]
name = "pyqt5"
version = "5.15.6"
description = "Python bindings for the Qt cross platform application toolkit"
category = "main"
optional = false
python-versions = ">=3.6"
[package.dependencies]
PyQt5-Qt5 = ">=5.15.2"
PyQt5-sip = ">=12.8,<13"
[[package]]
name = "pyqt5-qt5"
version = "5.15.2"
description = "The subset of a Qt installation needed by PyQt5."
category = "main"
optional = false
python-versions = "*"
[[package]]
name = "pyqt5-sip"
version = "12.9.0"
description = "The sip module support for PyQt5"
category = "main"
optional = false
python-versions = ">=3.5"
[[package]] [[package]]
name = "pytest" name = "pytest"
version = "6.2.5" version = "6.2.5"
@ -763,12 +746,13 @@ PyYAML = ">=3.10"
[extras] [extras]
analyze = [] analyze = []
docs = [] doc = []
gui = []
[metadata] [metadata]
lock-version = "1.1" lock-version = "1.1"
python-versions = ">=3.9,<3.11" python-versions = ">=3.9,<3.11"
content-hash = "47b4c70e61dfa848eff69c0edcaaf59db6eac989a4635994ee02ec96a9f05754" content-hash = "700a4aa9c7be83a1f2279035f74714daef385aa287d25a3d7bcd3c12d09cfa6a"
[metadata.files] [metadata.files]
alabaster = [ alabaster = [
@ -1176,6 +1160,35 @@ pluggy = [
{file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"}, {file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"},
{file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"}, {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"},
] ]
psutil = [
{file = "psutil-5.9.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:55ce319452e3d139e25d6c3f85a1acf12d1607ddedea5e35fb47a552c051161b"},
{file = "psutil-5.9.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:7336292a13a80eb93c21f36bde4328aa748a04b68c13d01dfddd67fc13fd0618"},
{file = "psutil-5.9.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:cb8d10461c1ceee0c25a64f2dd54872b70b89c26419e147a05a10b753ad36ec2"},
{file = "psutil-5.9.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:7641300de73e4909e5d148e90cc3142fb890079e1525a840cf0dfd39195239fd"},
{file = "psutil-5.9.0-cp27-none-win32.whl", hash = "sha256:ea42d747c5f71b5ccaa6897b216a7dadb9f52c72a0fe2b872ef7d3e1eacf3ba3"},
{file = "psutil-5.9.0-cp27-none-win_amd64.whl", hash = "sha256:ef216cc9feb60634bda2f341a9559ac594e2eeaadd0ba187a4c2eb5b5d40b91c"},
{file = "psutil-5.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:90a58b9fcae2dbfe4ba852b57bd4a1dded6b990a33d6428c7614b7d48eccb492"},
{file = "psutil-5.9.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff0d41f8b3e9ebb6b6110057e40019a432e96aae2008951121ba4e56040b84f3"},
{file = "psutil-5.9.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:742c34fff804f34f62659279ed5c5b723bb0195e9d7bd9907591de9f8f6558e2"},
{file = "psutil-5.9.0-cp310-cp310-win32.whl", hash = "sha256:8293942e4ce0c5689821f65ce6522ce4786d02af57f13c0195b40e1edb1db61d"},
{file = "psutil-5.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:9b51917c1af3fa35a3f2dabd7ba96a2a4f19df3dec911da73875e1edaf22a40b"},
{file = "psutil-5.9.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3d00a664e31921009a84367266b35ba0aac04a2a6cad09c550a89041034d19a0"},
{file = "psutil-5.9.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7779be4025c540d1d65a2de3f30caeacc49ae7a2152108adeaf42c7534a115ce"},
{file = "psutil-5.9.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:072664401ae6e7c1bfb878c65d7282d4b4391f1bc9a56d5e03b5a490403271b5"},
{file = "psutil-5.9.0-cp37-cp37m-win32.whl", hash = "sha256:df2c8bd48fb83a8408c8390b143c6a6fa10cb1a674ca664954de193fdcab36a9"},
{file = "psutil-5.9.0-cp37-cp37m-win_amd64.whl", hash = "sha256:1d7b433519b9a38192dfda962dd8f44446668c009833e1429a52424624f408b4"},
{file = "psutil-5.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c3400cae15bdb449d518545cbd5b649117de54e3596ded84aacabfbb3297ead2"},
{file = "psutil-5.9.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b2237f35c4bbae932ee98902a08050a27821f8f6dfa880a47195e5993af4702d"},
{file = "psutil-5.9.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1070a9b287846a21a5d572d6dddd369517510b68710fca56b0e9e02fd24bed9a"},
{file = "psutil-5.9.0-cp38-cp38-win32.whl", hash = "sha256:76cebf84aac1d6da5b63df11fe0d377b46b7b500d892284068bacccf12f20666"},
{file = "psutil-5.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:3151a58f0fbd8942ba94f7c31c7e6b310d2989f4da74fcbf28b934374e9bf841"},
{file = "psutil-5.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:539e429da49c5d27d5a58e3563886057f8fc3868a5547b4f1876d9c0f007bccf"},
{file = "psutil-5.9.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58c7d923dc209225600aec73aa2c4ae8ea33b1ab31bc11ef8a5933b027476f07"},
{file = "psutil-5.9.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3611e87eea393f779a35b192b46a164b1d01167c9d323dda9b1e527ea69d697d"},
{file = "psutil-5.9.0-cp39-cp39-win32.whl", hash = "sha256:4e2fb92e3aeae3ec3b7b66c528981fd327fb93fd906a77215200404444ec1845"},
{file = "psutil-5.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:7d190ee2eaef7831163f254dc58f6d2e2a22e27382b936aab51c835fc080c3d3"},
{file = "psutil-5.9.0.tar.gz", hash = "sha256:869842dbd66bb80c3217158e629d6fceaecc3a3166d3d1faee515b05dd26ca25"},
]
py = [ py = [
{file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"},
{file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"},
@ -1204,42 +1217,6 @@ pyparsing = [
{file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"}, {file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"},
{file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"}, {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"},
] ]
pyqt5 = [
{file = "PyQt5-5.15.6-cp36-abi3-macosx_10_13_x86_64.whl", hash = "sha256:33ced1c876f6a26e7899615a5a4efef2167c263488837c7beed023a64cebd051"},
{file = "PyQt5-5.15.6-cp36-abi3-manylinux1_x86_64.whl", hash = "sha256:9d6efad0377aa78bf081a20ac752ce86096ded18f04c592d98f5b92dc879ad0a"},
{file = "PyQt5-5.15.6-cp36-abi3-win32.whl", hash = "sha256:9d2dcdaf82263ae56023410a7af15d1fd746c8e361733a7d0d1bd1f004ec2793"},
{file = "PyQt5-5.15.6-cp36-abi3-win_amd64.whl", hash = "sha256:f411ecda52e488e1d3c5cce7563e1b2ca9cf0b7531e3c25b03d9a7e56e07e7fc"},
{file = "PyQt5-5.15.6.tar.gz", hash = "sha256:80343bcab95ffba619f2ed2467fd828ffeb0a251ad7225be5fc06dcc333af452"},
]
pyqt5-qt5 = [
{file = "PyQt5_Qt5-5.15.2-py3-none-macosx_10_13_intel.whl", hash = "sha256:76980cd3d7ae87e3c7a33bfebfaee84448fd650bad6840471d6cae199b56e154"},
{file = "PyQt5_Qt5-5.15.2-py3-none-manylinux2014_x86_64.whl", hash = "sha256:1988f364ec8caf87a6ee5d5a3a5210d57539988bf8e84714c7d60972692e2f4a"},
{file = "PyQt5_Qt5-5.15.2-py3-none-win32.whl", hash = "sha256:9cc7a768b1921f4b982ebc00a318ccb38578e44e45316c7a4a850e953e1dd327"},
{file = "PyQt5_Qt5-5.15.2-py3-none-win_amd64.whl", hash = "sha256:750b78e4dba6bdf1607febedc08738e318ea09e9b10aea9ff0d73073f11f6962"},
]
pyqt5-sip = [
{file = "PyQt5_sip-12.9.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6d5bca2fc222d58e8093ee8a81a6e3437067bb22bc3f86d06ec8be721e15e90a"},
{file = "PyQt5_sip-12.9.0-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:d59af63120d1475b2bf94fe8062610720a9be1e8940ea146c7f42bb449d49067"},
{file = "PyQt5_sip-12.9.0-cp310-cp310-win32.whl", hash = "sha256:0fc9aefacf502696710b36cdc9fa2a61487f55ee883dbcf2c2a6477e261546f7"},
{file = "PyQt5_sip-12.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:485972daff2fb0311013f471998f8ec8262ea381bded244f9d14edaad5f54271"},
{file = "PyQt5_sip-12.9.0-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:d85002238b5180bce4b245c13d6face848faa1a7a9e5c6e292025004f2fd619a"},
{file = "PyQt5_sip-12.9.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:83c3220b1ca36eb8623ba2eb3766637b19eb0ce9f42336ad8253656d32750c0a"},
{file = "PyQt5_sip-12.9.0-cp36-cp36m-win32.whl", hash = "sha256:d8b2bdff7bbf45bc975c113a03b14fd669dc0c73e1327f02706666a7dd51a197"},
{file = "PyQt5_sip-12.9.0-cp36-cp36m-win_amd64.whl", hash = "sha256:69a3ad4259172e2b1aa9060de211efac39ddd734a517b1924d9c6c0cc4f55f96"},
{file = "PyQt5_sip-12.9.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:42274a501ab4806d2c31659170db14c282b8313d2255458064666d9e70d96206"},
{file = "PyQt5_sip-12.9.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:6a8701892a01a5a2a4720872361197cc80fdd5f49c8482d488ddf38c9c84f055"},
{file = "PyQt5_sip-12.9.0-cp37-cp37m-win32.whl", hash = "sha256:ac57d796c78117eb39edd1d1d1aea90354651efac9d3590aac67fa4983f99f1f"},
{file = "PyQt5_sip-12.9.0-cp37-cp37m-win_amd64.whl", hash = "sha256:4347bd81d30c8e3181e553b3734f91658cfbdd8f1a19f254777f906870974e6d"},
{file = "PyQt5_sip-12.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c446971c360a0a1030282a69375a08c78e8a61d568bfd6dab3dcc5cf8817f644"},
{file = "PyQt5_sip-12.9.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:fc43f2d7c438517ee33e929e8ae77132749c15909afab6aeece5fcf4147ffdb5"},
{file = "PyQt5_sip-12.9.0-cp38-cp38-win32.whl", hash = "sha256:055581c6fed44ba4302b70eeb82e979ff70400037358908f251cd85cbb3dbd93"},
{file = "PyQt5_sip-12.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:c5216403d4d8d857ec4a61f631d3945e44fa248aa2415e9ee9369ab7c8a4d0c7"},
{file = "PyQt5_sip-12.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a25b9843c7da6a1608f310879c38e6434331aab1dc2fe6cb65c14f1ecf33780e"},
{file = "PyQt5_sip-12.9.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:dd05c768c2b55ffe56a9d49ce6cc77cdf3d53dbfad935258a9e347cbfd9a5850"},
{file = "PyQt5_sip-12.9.0-cp39-cp39-win32.whl", hash = "sha256:4f8e05fe01d54275877c59018d8e82dcdd0bc5696053a8b830eecea3ce806121"},
{file = "PyQt5_sip-12.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:b09f4cd36a4831229fb77c424d89635fa937d97765ec90685e2f257e56a2685a"},
{file = "PyQt5_sip-12.9.0.tar.gz", hash = "sha256:d3e4489d7c2b0ece9d203ae66e573939f7f60d4d29e089c9f11daa17cfeaae32"},
]
pytest = [ pytest = [
{file = "pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134"}, {file = "pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134"},
{file = "pytest-6.2.5.tar.gz", hash = "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89"}, {file = "pytest-6.2.5.tar.gz", hash = "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89"},

View File

@ -19,6 +19,8 @@ classifiers = [
packages = [ packages = [
{ include = "anisotropy" } { include = "anisotropy" }
] ]
include = ["doc"]
exclude = ["doc/source", "doc/Makefile"]
[tool.poetry.scripts] [tool.poetry.scripts]
anisotropy = "anisotropy.core.cli:anisotropy" anisotropy = "anisotropy.core.cli:anisotropy"
@ -32,8 +34,8 @@ pandas = "^1.3.4"
matplotlib = "^3.5.0" matplotlib = "^3.5.0"
pyfoam = "^2021.6" pyfoam = "^2021.6"
click = "^8.0.3" click = "^8.0.3"
pyqt5 = "^5.15.6"
dill = "^0.3.4" dill = "^0.3.4"
psutil = "^5.9.0"
[tool.poetry.dev-dependencies] [tool.poetry.dev-dependencies]
pytest = "^6.2.5" pytest = "^6.2.5"
@ -48,7 +50,8 @@ pytest-json-report = "^1.4.1"
[tool.poetry.extras] [tool.poetry.extras]
analyze = ["jupyterlab", "seaborn", "sklearn"] analyze = ["jupyterlab", "seaborn", "sklearn"]
docs = ["Sphinx", "sphinx-rtd-theme", "pydeps", "peewee-erd"] doc = ["Sphinx", "sphinx-rtd-theme", "pydeps", "peewee-erd"]
gui = ["dash", "dash-bootstrap-components"]
[build-system] [build-system]
requires = ["poetry-core>=1.0.0"] requires = ["poetry-core>=1.0.0"]