Saspy

Latest version: v5.15.0

Safety actively analyzes 641872 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 7

5.15.0

Added

- `Enhancement` A user contributed method `sasdata2parquet` (sd2pq), which is like sasdata2dataframe, but for data too
big to fit in a Pandas DataFrame (not enough memory). This method streams the data over, like sd2df but it writes the data
out as parquet file(s) so that it can then be access in Python by Arrow. It was designed specifically for the users use case,
but it can be used for simple situations as well. There are a lot of parameters, but most default so they aren't needed. It
can be called as simply as: sas.sasdata2parquet('parquet_file','cars','sashelp'). Se the API doc for more.

Changed

- ` Deprecated ` In version 5.13.0, the JWT authentication mechanism for the HTTP Access Method (Viya) was being deprecated,
so a warning message about that was added to the code path. It turns out that this is being deprecated only for connecting to
Viya using the default SASPy client_id. If however, you have created your own client_id that can use Azure JWT's to connect, then
you can continue to connect and authenticate with the JWT mechanism by providing that client_id, along with the client_secret
and the jwt to SASPy. Those are all existing configuration keys that have been there since before had an internal client id that it
defaults to.

Fixed

- `None` Nothing fixed

Removed

- `None` Nothing removed

5.14.0

Added

- `None` Nothing added

Changed

- `Enhancement` Per a user request (see issue 603 for details), in the HTTP and IOM access methods, there is
now a new boolean parameter `loglines` on the submit() method which changes how the LOG is returned. Of course the
default is Fslse to preserve current behavior. The user wanted a list of dictionaries for each line of the log, which
is returned from both the HTTP and IOM API's. The dictionaries have the `line`, which has the LOG contents for that
line, and the `type` which contains identifiers like NOTE, WARRNING, ERROR, TITLE, SOURCE ... See the Issue for
details of what to output is like for each of the access methods, as the API's don't return identical information.
The STDIO (SSH) access method can't return this as there is no API for that.


Fixed

- `None` Nothing fixed

Removed

- `None` Nothing removed

5.13.0

Added

- `None` Nothing added

Changed

- `Enhancement` In the HTTP access method, the upload method may encounter an error from the server when the file being uploaded
is bigger that is allowed by the server. This previously resulted in an unclear failure. I now catch this and throw a clear exception.

Fixed

- `Fixed` A bug was found with the append method of the SASdata object. When appending a Dataframe, the method uses df2sd to
transfer the data to SAS to then proc append it. After, it deletes that SASdata set it created. The method also allows you to
provide a SASdata object to append, but it didn't check and deletes that SASdata set too. That should not have been happening.
This is fixed in this release and only deletes the data set if it was temporarily created from the Dataframe.

Removed

- `Deprecated` A new requirement from Viya 4 is to deprecate the Azure JWT Authentication mechanism for SASPy. In a future
version of Viya this will no longer work. I've added this to the doc and issue a warning when trying to use this, in this release.
Support for this will be removed in a future release.

5.12.0

Added

- `None` Nothing added

Changed

- `Enhancement` A new requirement in Viya 4 called for a change in the SSO authentication mechanism, to support PKCE. So this
release provides support for that. There's nothing you have to do, but you will see a different message about the URL you need
to use to get an auth code to provide, when using that authentication mechanism. In short, every time you want to authenticate,
you get a new URL (it has its own unique code in it). This is displayed in the log same as the previous URL was, but unlike
previously, where the url was the same every time for the deployment, and you could already get a code and provide it to SASsession(),
this is a unique URL every time. So you can't get an authcode ahead of time. Don't fuss at me, I don't like it either. If you need
help, open an issue and I'll see what I can do.

Fixed

- `None` Nothing fixed

Removed

- `None` Nothing removed

5.11.0

Added

- `Enhancement` Per internal tester request, I've added an option for the STDIO access method to provide an amount of time for
SAS to terminate before killing the process, in the endsas() method. I've always waited up to 5 seconds from the subprocess
to terminate after requesting SAS shutdown, which is normally fine. If it takes longer, I kill the process. In this case,
SAS runs with some internal testing options which causes processing at termination, and takes longer than 5 seconds. So I've
added an option to allow me to wait longer before terminating the process which will allow this extra termination processing
to complete. This isn't a usual option customers would set, but it's there either way. The option is `termwait` and it takes an
integer number of seconds. In this case, the config def required: `'termwait': 60,` to get it to work as expected.

Changed

- `None` Nothing changed

Fixed

- `None` Nothing fixed

Removed

- `None` Nothing removed

5.10.0

Added

- `None` Nothing added

Changed

- `None` Nothing changed

Fixed

- `None` Nothing fixed

Removed

- `Enhancement` Per user request, I've added the ability to request a keepalive thread in the IOM access method.
I added this in V5.9.0, but then found that this could deadlock the IOM access method if the keepalive thread executed while in the middle
of one of my SASPy methods; which I didn't think would be the case, but I didn't happen to have it happen. When it
does, it can deadlock everything. So, I'm removing this feature with this release. It just doesn't work as expected.

Page 1 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.