sparclclient 1.2.0b3.dev6__tar.gz → 1.2.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. sparclclient-1.2.1/.github/workflows/django.yml +30 -0
  2. sparclclient-1.2.1/.gitignore +131 -0
  3. sparclclient-1.2.1/.pre-commit-config.yaml +21 -0
  4. sparclclient-1.2.1/.readthedocs.yaml +46 -0
  5. sparclclient-1.2.1/Makefile +20 -0
  6. sparclclient-1.2.1/PKG-INFO +14 -0
  7. sparclclient-1.2.1/README.md +2 -0
  8. sparclclient-1.2.1/make.bat +35 -0
  9. sparclclient-1.2.1/pyproject.toml +48 -0
  10. sparclclient-1.2.1/requirements-client.txt +3 -0
  11. sparclclient-1.2.1/requirements-internal.txt +22 -0
  12. sparclclient-1.2.1/requirements.txt +2 -0
  13. sparclclient-1.2.1/source/conf.py +91 -0
  14. sparclclient-1.2.1/source/index.rst +27 -0
  15. sparclclient-1.2.1/source/sparcl.rst +26 -0
  16. {sparclclient-1.2.0b3.dev6 → sparclclient-1.2.1}/sparcl/Results.py +74 -34
  17. {sparclclient-1.2.0b3.dev6 → sparclclient-1.2.1}/sparcl/__init__.py +15 -16
  18. sparclclient-1.2.1/sparcl/benchmarks/benchmarks.py +337 -0
  19. {sparclclient-1.2.0b3.dev6 → sparclclient-1.2.1}/sparcl/client.py +383 -227
  20. {sparclclient-1.2.0b3.dev6 → sparclclient-1.2.1}/sparcl/conf.py +10 -9
  21. {sparclclient-1.2.0b3.dev6 → sparclclient-1.2.1}/sparcl/exceptions.py +46 -33
  22. {sparclclient-1.2.0b3.dev6 → sparclclient-1.2.1}/sparcl/fields.py +66 -39
  23. sparclclient-1.2.1/sparcl/gather_2d.py +233 -0
  24. sparclclient-1.2.1/sparcl/notebooks/sparcl-examples.ipynb +1550 -0
  25. sparclclient-1.2.1/sparcl/resample_spectra.py +41 -0
  26. sparclclient-1.2.1/sparcl/sparc.ini +11 -0
  27. {sparclclient-1.2.0b3.dev6 → sparclclient-1.2.1}/sparcl/type_conversion.py +151 -133
  28. {sparclclient-1.2.0b3.dev6 → sparclclient-1.2.1}/sparcl/unsupported.py +24 -14
  29. {sparclclient-1.2.0b3.dev6 → sparclclient-1.2.1}/sparcl/utils.py +78 -13
  30. sparclclient-1.2.1/tests/expected_dev1.py +155 -0
  31. sparclclient-1.2.1/tests/expected_pat.py +170 -0
  32. sparclclient-1.2.1/tests/methods_tests.py +1227 -0
  33. sparclclient-1.2.1/tests/tests_api.py +668 -0
  34. sparclclient-1.2.1/tests/utils.py +45 -0
  35. sparclclient-1.2.1/tox.ini +28 -0
  36. sparclclient-1.2.1/unpub-notebooks/SPARCL_client_method_tests.ipynb +2177 -0
  37. sparclclient-1.2.1/unpub-notebooks/align_spectra.ipynb +1 -0
  38. sparclclient-1.2.0b3.dev6/PKG-INFO +0 -20
  39. sparclclient-1.2.0b3.dev6/README.md +0 -2
  40. sparclclient-1.2.0b3.dev6/pyproject.toml +0 -6
  41. sparclclient-1.2.0b3.dev6/setup.cfg +0 -4
  42. sparclclient-1.2.0b3.dev6/setup.py +0 -44
  43. sparclclient-1.2.0b3.dev6/sparcl/benchmarks/benchmarks.py +0 -289
  44. sparclclient-1.2.0b3.dev6/sparcl/gather_2d.py +0 -173
  45. sparclclient-1.2.0b3.dev6/sparclclient.egg-info/PKG-INFO +0 -20
  46. sparclclient-1.2.0b3.dev6/sparclclient.egg-info/SOURCES.txt +0 -22
  47. sparclclient-1.2.0b3.dev6/sparclclient.egg-info/dependency_links.txt +0 -1
  48. sparclclient-1.2.0b3.dev6/sparclclient.egg-info/requires.txt +0 -3
  49. sparclclient-1.2.0b3.dev6/sparclclient.egg-info/top_level.txt +0 -1
  50. sparclclient-1.2.0b3.dev6/tests/tests_api.py +0 -423
  51. {sparclclient-1.2.0b3.dev6 → sparclclient-1.2.1}/LICENSE +0 -0
  52. {sparclclient-1.2.0b3.dev6 → sparclclient-1.2.1}/sparcl/benchmarks/__init__.py +0 -0
@@ -0,0 +1,30 @@
1
+ name: Django CI
2
+
3
+ on:
4
+ push:
5
+ branches: [ "main" ]
6
+ pull_request:
7
+ branches: [ "main" ]
8
+
9
+ jobs:
10
+ build:
11
+
12
+ runs-on: ubuntu-latest
13
+ strategy:
14
+ max-parallel: 4
15
+ matrix:
16
+ python-version: [3.7, 3.8, 3.9]
17
+
18
+ steps:
19
+ - uses: actions/checkout@v3
20
+ - name: Set up Python ${{ matrix.python-version }}
21
+ uses: actions/setup-python@v3
22
+ with:
23
+ python-version: ${{ matrix.python-version }}
24
+ - name: Install Dependencies
25
+ run: |
26
+ python -m pip install --upgrade pip
27
+ pip install -r requirements.txt
28
+ - name: Run Tests
29
+ run: |
30
+ python manage.py test
@@ -0,0 +1,131 @@
1
+ OBSOLETE_*/
2
+
3
+ # Byte-compiled / optimized / DLL files
4
+ __pycache__/
5
+ *.py[cod]
6
+ *$py.class
7
+
8
+ # C extensions
9
+ *.so
10
+
11
+ # Distribution / packaging
12
+ .Python
13
+ build/
14
+ develop-eggs/
15
+ dist/
16
+ downloads/
17
+ eggs/
18
+ .eggs/
19
+ lib/
20
+ lib64/
21
+ parts/
22
+ sdist/
23
+ var/
24
+ wheels/
25
+ pip-wheel-metadata/
26
+ share/python-wheels/
27
+ *.egg-info/
28
+ .installed.cfg
29
+ *.egg
30
+ MANIFEST
31
+
32
+ # PyInstaller
33
+ # Usually these files are written by a python script from a template
34
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
35
+ *.manifest
36
+ *.spec
37
+
38
+ # Installer logs
39
+ pip-log.txt
40
+ pip-delete-this-directory.txt
41
+
42
+ # Unit test / coverage reports
43
+ htmlcov/
44
+ .tox/
45
+ .nox/
46
+ .coverage
47
+ .coverage.*
48
+ .cache
49
+ nosetests.xml
50
+ coverage.xml
51
+ *.cover
52
+ *.py,cover
53
+ .hypothesis/
54
+ .pytest_cache/
55
+
56
+ # Translations
57
+ *.mo
58
+ *.pot
59
+
60
+ # Django stuff:
61
+ *.log
62
+ local_settings.py
63
+ db.sqlite3
64
+ db.sqlite3-journal
65
+
66
+ # Flask stuff:
67
+ instance/
68
+ .webassets-cache
69
+
70
+ # Scrapy stuff:
71
+ .scrapy
72
+
73
+ # Sphinx documentation
74
+ docs/_build/
75
+
76
+ # PyBuilder
77
+ target/
78
+
79
+ # Jupyter Notebook
80
+ .ipynb_checkpoints
81
+
82
+ # IPython
83
+ profile_default/
84
+ ipython_config.py
85
+
86
+ # pyenv
87
+ .python-version
88
+
89
+ # pipenv
90
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
91
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
92
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
93
+ # install all needed dependencies.
94
+ #Pipfile.lock
95
+
96
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
97
+ __pypackages__/
98
+
99
+ # Celery stuff
100
+ celerybeat-schedule
101
+ celerybeat.pid
102
+
103
+ # SageMath parsed files
104
+ *.sage.py
105
+
106
+ # Environments
107
+ .env
108
+ .venv
109
+ env/
110
+ venv/
111
+ ENV/
112
+ env.bak/
113
+ venv.bak/
114
+
115
+ # Spyder project settings
116
+ .spyderproject
117
+ .spyproject
118
+
119
+ # Rope project settings
120
+ .ropeproject
121
+
122
+ # mkdocs documentation
123
+ /site
124
+
125
+ # mypy
126
+ .mypy_cache/
127
+ .dmypy.json
128
+ dmypy.json
129
+
130
+ # Pyre type checker
131
+ .pyre/
@@ -0,0 +1,21 @@
1
+ # See: https://pre-commit.com/
2
+ # Run:
3
+ # pre-commit run --all-files
4
+
5
+ repos:
6
+ - repo: https://github.com/pre-commit/pre-commit-hooks
7
+ rev: v3.2.0
8
+ hooks:
9
+ - id: trailing-whitespace
10
+ - id: end-of-file-fixer
11
+ - id: check-yaml
12
+ - id: check-added-large-files
13
+ - repo: https://github.com/psf/black
14
+ rev: 22.10.0
15
+ hooks:
16
+ - id: black
17
+ - repo: https://github.com/pycqa/flake8
18
+ rev: 4.0.1
19
+ hooks:
20
+ - id: flake8
21
+ exclude: ^source|^tests/expected.py
@@ -0,0 +1,46 @@
1
+ # .readthedocs.yaml
2
+ # Read the Docs configuration file
3
+ # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
4
+
5
+ ####### How to test Readthedocs documentation locally?
6
+ ###
7
+ ### Install Sphinx.
8
+ # pip install sphinx
9
+ #
10
+ ### Build your docs: (with venv active)
11
+ #
12
+ # cd ~/sandbox/sparclclient
13
+ # make html
14
+ #
15
+ ## Open the html file in your browser, for example:
16
+ # file:///home/myusername/sandbox/sparclclient/build/html/index.html
17
+
18
+
19
+ # Required
20
+ version: 2
21
+
22
+ # Set the version of Python and other tools you might need
23
+ build:
24
+ os: ubuntu-22.04
25
+ tools:
26
+ python: "3.10"
27
+ # You can also specify other tool versions:
28
+ # nodejs: "16"
29
+ # rust: "1.55"
30
+ # golang: "1.17"
31
+
32
+ # Build documentation in the docs/ directory with Sphinx
33
+ sphinx:
34
+ configuration: source/conf.py
35
+
36
+ # If using Sphinx, optionally build your docs in additional formats such as PDF
37
+ formats:
38
+ - pdf
39
+ - epub
40
+
41
+ # Optionally declare the Python requirements required to build your docs
42
+ python:
43
+ install:
44
+ - requirements: requirements.txt
45
+
46
+ # - requirements: docs/requirements.txt
@@ -0,0 +1,20 @@
1
+ # Minimal makefile for Sphinx documentation
2
+ #
3
+
4
+ # You can set these variables from the command line, and also
5
+ # from the environment for the first two.
6
+ SPHINXOPTS ?=
7
+ SPHINXBUILD ?= sphinx-build
8
+ SOURCEDIR = source
9
+ BUILDDIR = build
10
+
11
+ # Put it first so that "make" without argument is like "make help".
12
+ help:
13
+ @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
14
+
15
+ .PHONY: help Makefile
16
+
17
+ # Catch-all target: route all unknown targets to Sphinx using the new
18
+ # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19
+ %: Makefile
20
+ @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
@@ -0,0 +1,14 @@
1
+ Metadata-Version: 2.1
2
+ Name: sparclclient
3
+ Version: 1.2.1
4
+ Summary: A client for getting spectra and meta-data from NOIRLab.
5
+ Author-email: "S. Pothier" <datalab-spectro@noirlab.edu>
6
+ Description-Content-Type: text/markdown
7
+ Classifier: License :: OSI Approved :: MIT License
8
+ Project-URL: Bug Tracker, https://github.com/pypa/sparclclient/issues
9
+ Project-URL: Documentation, https://sparclclient.readthedocs.io/en/latest/
10
+ Project-URL: Homepage, https://github.com/pypa/sparclclient
11
+
12
+ # sparclclient
13
+ Python Client for SPARCL (SPectra Analysis and Retrievable Catalog Lab)
14
+
@@ -0,0 +1,2 @@
1
+ # sparclclient
2
+ Python Client for SPARCL (SPectra Analysis and Retrievable Catalog Lab)
@@ -0,0 +1,35 @@
1
+ @ECHO OFF
2
+
3
+ pushd %~dp0
4
+
5
+ REM Command file for Sphinx documentation
6
+
7
+ if "%SPHINXBUILD%" == "" (
8
+ set SPHINXBUILD=sphinx-build
9
+ )
10
+ set SOURCEDIR=source
11
+ set BUILDDIR=build
12
+
13
+ if "%1" == "" goto help
14
+
15
+ %SPHINXBUILD% >NUL 2>NUL
16
+ if errorlevel 9009 (
17
+ echo.
18
+ echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
19
+ echo.installed, then set the SPHINXBUILD environment variable to point
20
+ echo.to the full path of the 'sphinx-build' executable. Alternatively you
21
+ echo.may add the Sphinx directory to PATH.
22
+ echo.
23
+ echo.If you don't have Sphinx installed, grab it from
24
+ echo.http://sphinx-doc.org/
25
+ exit /b 1
26
+ )
27
+
28
+ %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
29
+ goto end
30
+
31
+ :help
32
+ %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
33
+
34
+ :end
35
+ popd
@@ -0,0 +1,48 @@
1
+ # See:
2
+ # FLIT: https://flit.pypa.io/en/latest/pyproject_toml.html
3
+ # TOML format: https://toml.io/en/
4
+
5
+ #
6
+ # Updating PyPi:
7
+ # source venv/bin/activate
8
+ # flit build
9
+ # flit publish
10
+
11
+
12
+ [build-system]
13
+ requires = ["flit_core >=3.2,<4"]
14
+ build-backend = "flit_core.buildapi"
15
+
16
+
17
+ [project]
18
+ name = "sparclclient"
19
+ authors = [
20
+ { name="S. Pothier", email="datalab-spectro@noirlab.edu" },
21
+ ]
22
+ readme = "README.md"
23
+ license = {file = "LICENSE"}
24
+ classifiers = ["License :: OSI Approved :: MIT License"]
25
+ dynamic = ["version", "description"]
26
+
27
+ [project.urls]
28
+ "Homepage" = "https://github.com/pypa/sparclclient"
29
+ "Bug Tracker" = "https://github.com/pypa/sparclclient/issues"
30
+ "Documentation" = "https://sparclclient.readthedocs.io/en/latest/"
31
+
32
+ [tool.flit.module]
33
+ name = "sparcl"
34
+
35
+ [tool.black]
36
+ # https://black.readthedocs.io/en/stable/usage_and_configuration/index.html
37
+ line-length = 79
38
+ target-version = ['py37']
39
+ include = '\.pyi?$'
40
+ # 'extend-exclude' excludes files or directories in addition to the defaults
41
+ extend-exclude = '''
42
+ # A regex preceded with ^/ will apply only to files and directories
43
+ # in the root of the project.
44
+ (
45
+ ^/foo.py # exclude a file named foo.py in the root of the project
46
+ | .*_pb2.py # exclude autogenerated Protocol Buffer files anywhere in the project
47
+ )
48
+ '''
@@ -0,0 +1,3 @@
1
+ requests==2.31.0 # 2.26.0
2
+ numpy
3
+ spectres
@@ -0,0 +1,22 @@
1
+ #
2
+ #psutil==5.8.0 # for benchmarks
3
+ #! speedtest # for benchmarks
4
+ # packaging # for noaodatalab
5
+ #specutils==1.3.1
6
+ # jupyter-lab --ip=0.0.0.0
7
+ # jupyterlab # =3.1.17
8
+ #matplotlib==3.4.3
9
+ #!sparclclient==0.3.9
10
+
11
+ Sphinx # ==4.1.2
12
+ sphinx-rtd-theme # ==0.5.2
13
+ pre-commit
14
+ pip
15
+ flit
16
+ sphinx_mdinclude
17
+
18
+ #
19
+ pandas
20
+ matplotlib
21
+ ipympl
22
+ astropy
@@ -0,0 +1,2 @@
1
+ -r requirements-client.txt
2
+ -r requirements-internal.txt
@@ -0,0 +1,91 @@
1
+ # Configuration file for the Sphinx documentation builder.
2
+ #
3
+ # This file only contains a selection of the most common options. For a full
4
+ # list see the documentation:
5
+ # https://www.sphinx-doc.org/en/master/usage/configuration.html
6
+
7
+ # -- Path setup --------------------------------------------------------------
8
+
9
+
10
+ # If extensions (or modules to document with autodoc) are in another directory,
11
+ # add these directories to sys.path here. If the directory is relative to the
12
+ # documentation root, use os.path.abspath to make it absolute, like shown here.
13
+
14
+ import os
15
+ import re
16
+ import sys
17
+ from sparcl import __version__
18
+
19
+ sys.path.insert(0, os.path.abspath(".."))
20
+
21
+ # -- Project information -----------------------------------------------------
22
+
23
+ project = "SPARCL"
24
+ copyright = "2022, S.Pothier, A.Jacques"
25
+ author = "S.Pothier, A.Jacques"
26
+
27
+ #!version = client_version
28
+ sver = __version__
29
+ mo = re.match(
30
+ "^(?P<major>0|[1-9]\d*)\.(?P<minor>0|[1-9]\d*)\.(?P<patch>0|[1-9]\d*)(?:(?P<prerelease>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?P<buildmetadata>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$",
31
+ sver,
32
+ )
33
+ release = sver
34
+ version = mo.group("major") + "." + mo.group("minor")
35
+ # The full version, including alpha/beta/rc tags
36
+
37
+
38
+ # -- General configuration ---------------------------------------------------
39
+
40
+ # Add any Sphinx extension module names here, as strings. They can be
41
+ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
42
+ # ones.
43
+ extensions = [
44
+ "sphinx.ext.autodoc",
45
+ "sphinx.ext.doctest",
46
+ "sphinx.ext.todo",
47
+ "sphinx.ext.coverage",
48
+ "sphinx.ext.napoleon",
49
+ "sphinx.ext.viewcode",
50
+ "sphinx_mdinclude",
51
+ ]
52
+
53
+
54
+ # Add any paths that contain templates here, relative to this directory.
55
+ templates_path = ["_templates"]
56
+
57
+ # The language for content autogenerated by Sphinx. Refer to documentation
58
+ # for a list of supported languages.
59
+ #
60
+ # This is also used if you do content translation via gettext catalogs.
61
+ # Usually you set "language" from the command line for these cases.
62
+ language = "y"
63
+
64
+ # List of patterns, relative to source directory, that match files and
65
+ # directories to ignore when looking for source files.
66
+ # This pattern also affects html_static_path and html_extra_path.
67
+ exclude_patterns = ["../sparcl/benchmarks/"]
68
+
69
+ # The name of the Pygments (syntax highlighting) style to use.
70
+ pygments_style = "sphinx"
71
+ autosummary_generate = True
72
+
73
+ # -- Options for HTML output -------------------------------------------------
74
+
75
+ # The theme to use for HTML and HTML Help pages. See the documentation for
76
+ # a list of builtin themes.
77
+ #
78
+ # html_theme = 'alabaster'
79
+ html_theme = "sphinx_rtd_theme"
80
+
81
+ # Add any paths that contain custom static files (such as style sheets) here,
82
+ # relative to this directory. They are copied after the builtin static files,
83
+ # so a file named "default.css" will overwrite the builtin "default.css".
84
+ html_static_path = ["_static"]
85
+
86
+ # -- Extension configuration -------------------------------------------------
87
+
88
+ # -- Options for todo extension ----------------------------------------------
89
+
90
+ # If true, `todo` and `todoList` produce output, else they produce nothing.
91
+ todo_include_todos = True
@@ -0,0 +1,27 @@
1
+ Welcome to SPARCL's documentation!
2
+ ==================================
3
+
4
+ This documents the Python Client for SPARCL
5
+ (*SPectra Analysis and Retrievable Catalog Lab*)
6
+
7
+ | Last change: |today|
8
+ | Version: |version|
9
+ | Release: |release|
10
+
11
+ .. toctree::
12
+ :maxdepth: 3
13
+ :caption: Contents:
14
+
15
+ sparcl
16
+
17
+
18
+ Indices and tables
19
+ ==================
20
+
21
+ * :ref:`genindex`
22
+ * :ref:`modindex`
23
+
24
+ License
25
+ =======
26
+
27
+ .. mdinclude:: ../LICENSE
@@ -0,0 +1,26 @@
1
+ sparcl package
2
+ ==============
3
+
4
+
5
+ sparcl.client module
6
+ --------------------
7
+
8
+ .. automodule:: sparcl.client
9
+ :members:
10
+ :show-inheritance:
11
+
12
+
13
+ sparcl.exceptions module
14
+ ------------------------
15
+
16
+ .. automodule:: sparcl.exceptions
17
+ :members:
18
+ :show-inheritance:
19
+
20
+ sparcl.Results module
21
+ ---------------------
22
+
23
+ .. automodule:: sparcl.Results
24
+ :members:
25
+ :inherited-members:
26
+ :show-inheritance: