Skip to content

Commit 90cb0e8

Browse files
Merge pull request #1 from sassoftware/master
Sync
2 parents 3c6d6f3 + 003ea82 commit 90cb0e8

File tree

266 files changed

+200604
-18134
lines changed

Some content is hidden

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

266 files changed

+200604
-18134
lines changed

.deepsource.toml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
version = 1
2+
3+
test_patterns = [
4+
"tests/**"
5+
]
6+
7+
exclude_patterns = [
8+
"tests/**"
9+
]
10+
11+
12+
[[analyzers]]
13+
name = "python"
14+
enabled = true
15+
16+
[analyzers.meta]
17+
runtime_version = "2.x.x"

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
name: Report an issue
3+
about: Report a problem you're having or a bug you found
4+
title: ''
5+
labels: bug
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the issue**
11+
A clear and concise description of the issue you're experiencing.
12+
13+
**To Reproduce**
14+
Steps or example code to reproduce the issue.
15+
16+
**Expected behavior**
17+
A clear and concise description of what you expected to happen.
18+
19+
**Stack Trace**
20+
If you're experiencing an exception, include the full stack trace and error message.
21+
22+
**Version**
23+
What version of `sasctl` are you using?
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
name: Request a feature
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: enhancement
6+
assignees: ''
7+
8+
---
9+
10+
**Is your feature request related to a problem? Please describe.**
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12+
13+
**Describe the solution you'd like**
14+
A clear and concise description of what you want to happen.
15+
16+
**Describe alternatives you've considered**
17+
A clear and concise description of any alternative solutions or features you've considered.
18+
19+
**Additional context**
20+
Add any other context or screenshots about the feature request here.

.github/ISSUE_TEMPLATE/question.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
name: Ask a question
3+
about: Ask for help if you need information or are experiencing a problem.
4+
title: ''
5+
labels: question
6+
assignees: ''
7+
8+
---
9+

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## Assorted files that shouldn't be uploaded
2+
.private/*
3+
_private/*
4+
15
## Editor temporary/working/backup files
26
.#*
37
*\#*\#

.travis.yml

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ matrix:
3434
env: TOXENV=py36-tests-codecov TOX_SKIP_MISSING_INTERPRETERS=False
3535
- python: 3.7
3636
env: TOXENV=py37-tests-codecov TOX_SKIP_MISSING_INTERPRETERS=False
37+
# TODO: Enable when numpy, Pandas, and other dependencies are released on 3.8
38+
- python: 3.8
39+
env: TOXENV=py38-tests-codecov TOX_SKIP_MISSING_INTERPRETERS=False
3740

3841

3942
- stage: flake8
@@ -72,23 +75,23 @@ matrix:
7275
on:
7376
tags: true
7477

75-
78+
# Travis deploy: pypi settings started returning "Your build exited with 86."
79+
# Reverting to manual build and upload
7680
- stage: deploy to pypi
81+
python: 3.6
82+
install: pip install setuptools wheel twine
83+
env:
84+
- TWINE_USERNAME: "$PYPI_USERNAME"
85+
- TWINE_PASSWORD: "$PYPI_PASSWORD"
7786
script:
78-
-
79-
deploy:
80-
provider: pypi
81-
user:
82-
secure: BkSk3YOVq/wb10zg6ceI7NdymLWhuexH8WH2KHHVIBaZDeoo1Hfzm6bSwxIPlngN5737ubBgVXnCM7oSElPh9oQYhX6PyNPR2X9DshQCoM1iShIhdo3Wb9XYT0V/MZ6/yf9pqbirx1mQ7rM+xTs9lrw7OCgi1/fJXPmXc7Qv8DGfhT0y9SbsktIJoAPg4qjWuGbo/2Jm5l8UNmTp6N5brJO+C1cRp65fZ1LcJ6PeWK+0iIi+oLyMz74TYrVAh+eqIlbnB6ss7WBHw7Bh3Cr7QjyaH5dDBGkouPPUbkSy9tNDcLUERSKPPPAOtY53tADI6ap+2hLFMKFz1wuOBwrabbsxkbdTPNbd9sS6bMrdHajRwuE7WyFkKe4yd9JzmafrBzUsR+hjyjCDIBT9lwn9EIeWaKtbm2zOmh7EbQBhK2q71hc+8ZiDx42uWIpEZnCSkWJYyGHdHiy1kgPsqWnUOMxReIRSfqdrdkVBfA6F68nh5k9w06chSj81Tb/mAnf3xGI8r3EwqMlXfyo+bBCYK3NibaBYMy4xhUiH566cQ+1Rt6JdAaVZIgK6Euu7zas0szZKddXUelaLlc2VHUyoJR8gazVdK6V8hDJykZb85KYp0lWhd78v4ANsDzSjjxoO8YT43iwiFgHarjXN1Vnd9fixWinT3r3BCdUryetOQ1g=
83-
password:
84-
secure: UOnKL5rBTgv8ubh/0l+4BKEO1C89h/PF3y+Y6cq40881yQLkLItTDxYkWCf36m6L/IyOnACwn5kJziQuTUSgyzfN58TRBvjVagjdkDQtwObLZVoU5PX+aMLRF+D7djdIekiOvhvQ476UDUR8jL3FwcQU4QJ72KQJqNn/UohdQquDP91qlcr+XLN/rvLeJAdQ8brOjpansX5qbHuJey+9oGgl9cwAVapvGVzvxk46oDb8hSrWJXZZU5PeEkoOdtGnOUdmWTtjuPjjYA6Fk/jyk+3fSgolHqa4vjFLu2PfDK+hDSZY1JIAxqUGKRzj+O4J2cm5ChMOwB4FwkA+7ZUBptHKnAD+qD4Z2iDRvkVTGgOUsmwS25DAcoEM6t9j5bjozW1vgCiIjf51v6GplQC0rY/QpxVkDnNlLC9Ov+paj+3KgG+BI2S+gjb9XD9tgnsHXpgc0i3dZSmjaO4eA9jetm9bG32irDdQGSifF27vv0m3X1GlgeIYtK2kZnUmxFBYadiGCGBk3+V78VKCLiTsB/G5b/9L70AaQmodPjYiOqmi2K5k6rMJ0lpP52ho3njN2oIvH7Ot4vNdc75qXlsHFX1VQfQlenxuzWszmlQQQAfQ+uj26rhftaKiYfPETPTztRHoRIeyYxqCnpNU5oGw3EcWQklxyNDVH0FqQ7H5iZw=
85-
distributions: sdist bdist_wheel
86-
on:
87-
tags: true
87+
- python setup.py sdist bdist_wheel
88+
- python -m twine upload dist/*
89+
on:
90+
tags: true
8891

8992

9093
install:
91-
- pip install tox
94+
- pip install tox "virtualenv<20.0.0" # workaround for pip issue: https://github.com/pypa/virtualenv/issues/1551#issuecomment-584148133
9295

9396

9497
script:

CHANGELOG.md

Lines changed: 71 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,77 @@
1-
21
Unreleased
32
----------
3+
-
4+
5+
v1.5.5 (2021-03-26)
6+
-------------------
7+
**Bugfixes***
8+
- Fixed an issue with JSON parsing that caused the `publish_model` task to fail with Viya 4.0.
9+
10+
v1.5.4 (2020-10-29)
11+
------------------
12+
**Improvements**
13+
- Added the `as_swat` method to the `Session` object, allowing connection to CAS through SWAT without an additional authentication step.
14+
15+
**Changes**
16+
- Integrated PZMM into `Session` calls and removed redundant function calls in PZMM.
17+
- ROC and Lift statistic JSON files created by PZMM are now generated through CAS actionset calls.
18+
- Updated the PZMM example notebook, `FleetMaintenance.ipynb`, to include integration of PZMM with sasctl functions.
19+
20+
**Bugfixes**
21+
- Reworked the `model_repository.get_repository()` to prevent HTTP 403 errors that could occur with some Viya environments.
22+
23+
v1.5.3 (2020-06-25)
24+
------------------
25+
**Bugfixes**
26+
- Added PZMM fitstat JSON file to manifest.
27+
28+
v1.5.2 (2020-06-22)
29+
-------------------
30+
**Improvements**
31+
- PZMM module moved from a stand-alone [repository](https://github.com/sassoftware/open-model-manager-resources/tree/master/addons/picklezip-mm) to a sasctl submodule.
32+
- Introduced deprecation warnings for Python 2 users.
33+
34+
v1.5.1 (2020-4-9)
35+
----------------
36+
**Bugfixes**
37+
- Fixed PyMAS utilities to correctly work functions not bound to pickled objects.
38+
- Model target variables should no longer appear as an input variable when registering ASTORE models.
39+
40+
v1.5 (2020-2-23)
41+
----------------
42+
**Improvements**
43+
- Registered Python models will now include both `predict` and `predict_proba` methods.
44+
- Added a new Relationships service for managing links between objects.
45+
- Added a new Reports service for retrieving SAS Visual Analytics reports.
46+
- Added a new Report_Images service for rendering content from reports.
47+
- Additional metadata fields are set when registering an ASTORE model.
48+
- Collections of items should now return an instance of `PagedList` for lazy loading of results.
49+
- Module steps can now be called using `module.step(df)` where `df` is the row of a DataFrame or Numpy array.
50+
- `register_model` sets additional project properties when registering an ASTORE model.
51+
52+
**Changes**
53+
- Replaced the `raw` parameter of the `request` methods with a `format` parameter, allowing more control over the
54+
returned value.
55+
- The `get_file_content` method of the Files service now returns the actual content instead of the file metadata.
56+
- JSON output when using `sasctl` from the command line is now formatted correctly.
57+
58+
**Bugfixes**
59+
- `model_publish.delete_destination` now works correctly.
60+
61+
v1.4.6 (2020-1-24)
62+
------------------
63+
**Bugfixes**
64+
- Fixed an issue where the `REQUESTS_CA_BUNDLE` environment variable was taking precedence over the `verify_ssl` parameter.
65+
66+
v1.4.5 (2019-12-5)
67+
------------------
68+
**Changes**
69+
- Saving of package information can now be disabled using the `record_packages` parameter of `register_model`.
70+
471
**Bugfixes**
572
- Added support for uint data types to the `register_model` task.
73+
- Fixed an issue where long package names caused `register_model` to fail.
74+
- `Session` creation now works with older versions of urllib3.
675

776
v1.4.4 (2019-10-31)
877
-------------------
@@ -182,4 +251,4 @@ v0.9.7 (2019-07-18)
182251

183252
v0.9.6 (2019-07-15)
184253
-------------------
185-
Initial public release.
254+
Initial public release.

MANIFEST.in

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
11
include README.md
22
include LICENSE
3-
include CHANGELOG.md
3+
include CHANGELOG.md
4+
include CONTRIBUTING.md
5+
include ContributorAgreement.txt
6+
include SUPPORT.md
7+
8+
include src/sasctl/pzmm/null_dmcas_fitstat.json
9+
include src/sasctl/pzmm/null_dmcas_roc.json
10+
include src/sasctl/pzmm/null_dmcas_lift.json

README.md

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<p>A user-friendly REST client for SAS Viya.</p>
66

77
<a href="https://www.sas.com/en_us/software/viya.html">
8-
<img src="https://img.shields.io/badge/SAS%20Viya-3.4-blue.svg?&colorA=0b5788&logoWidth=30&logo=data:image/png;base64,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"
8+
<img src="https://img.shields.io/badge/SAS%20Viya-3.4+-blue.svg?&colorA=0b5788&logoWidth=30&logo=data:image/png;base64,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"
99
alt="SAS Viya Version"/>
1010
</a>
1111
@@ -39,6 +39,7 @@ sasctl requires the following Python packages be installed.
3939
If not already present, these packages will be downloaded and installed automatically.
4040
- requests
4141
- six
42+
- futures (Python 2.7 only)
4243

4344
The following additional packages are recommended for full functionality:
4445
- swat
@@ -88,29 +89,24 @@ which can handle all necessary communication with the SAS Viya server:
8889
A slightly more low-level way to interact with the environment is to use
8990
the service methods directly:
9091
```
91-
>>> from pprint import pprint
9292
>>> from sasctl import Session
9393
>>> from sasctl.services import folders
9494
9595
>>> with Session(host, username, password):
96-
... folders = folders.list_folders()
97-
... pprint(folders)
98-
99-
{'links': [{'href': '/folders/folders',
100-
'method': 'GET',
101-
'rel': 'folders',
102-
'type': 'application/vnd.sas.collection',
103-
'uri': '/folders/folders'},
104-
{'href': '/folders/folders',
105-
'method': 'POST',
106-
'rel': 'createFolder',
96+
... for f in folders.list_folders():
97+
... print(f)
98+
99+
Public
100+
Projects
101+
ESP Projects
102+
Risk Environments
107103
108104
... # truncated for clarity
109105
110-
'rel': 'createSubfolder',
111-
'type': 'application/vnd.sas.content.folder',
112-
'uri': '/folders/folders?parentFolderUri=/folders/folders/{parentId}'}],
113-
'version': 1}
106+
My Folder
107+
My History
108+
My Favorites
109+
SAS Environment Manager
114110
```
115111

116112

doc/api/sasctl.utils.pyml2ds.rst

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
sasctl.utils.pyml2ds package
2+
==========================
3+
4+
Submodules
5+
----------
6+
7+
sasctl.utils.pyml2ds.pyml2ds module
8+
------------------------------
9+
10+
.. automodule:: sasctl.utils.pyml2ds.pyml2ds
11+
:members:
12+
:undoc-members:
13+
:show-inheritance:

0 commit comments

Comments
 (0)