Saspy

Latest version: v5.12.0

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

Scan your dependencies

Page 2 of 7

5.5.0

Added

- `None` Nothing added

Changed

- `Tweak` A user contribution enhanced an error case where parsing an empty log due to the SAS session
being terminated returned a less than helpful error in the exception. This now would return a clear error
as to the problem.


- `Enhancement` Regarding a SAS process unexpectedly terminating out from under SASPy, you may have seen this or a similar
error message before: "No SAS process attached. SAS process has terminated unexpectedly." along with an arbitrary exception.
I've enhanced this case, like many other situations to now throw a new exception, SASIOConnectionTerminated, and to log the
message(s) previously returned (logger.fatal()). This should really have always been an exception as it is a fatal case where
the SAS session is no longer functional, since there's no SAS process connected anymore.


Fixed

- `None` Nothing fixed

Removed

- `None` Nothing removed

5.4.4

Added

- `None` Nothing added

Changed

- `Tweak` Databricks finally enabled IPython support which allows for HTML rendering from w/in SASPy,
like in both Jupyter and Zeppelin (Zeppelin has its own rendering, but SASPy supports it). So now
display='databricks' will just use the same code as display='jupyter' so HTML can finally be rendered
for you by SASPy instead of having to run batch mode to get the HTML returned to you and then you having
to pass it to their displayHTML() method.

Fixed

- `None` Nothing fixed

Removed

- `None` Nothing removed

5.4.3

Added

- `None` Nothing added

Changed

- `None` Nothing changed

Fixed

- `Fixed` The upload method wasn't validating that the file was uploaded successfully after the fact.
It has a number of checks up front, and if there's a failure, it could return Success=False, but each
access method is different and they didn't each get a failure the same way. So I added a more explicit
validation after the upload is completed, to prove the file really made it or not. For the HTTP access
method, I also mitigated a situation where the Compute server process could be killed for trying to
access a restricted path. Now that just gets a clean failure with a message about the problem.

Removed

- `None` Nothing removed

5.4.2

Added

- `None` Nothing added

Changed

- `None` Nothing changed

Fixed

- `Fixed` Found a SAS code gen syntax error in the HTTP access method causing an error in the log
for sd2df. Needed to quote the fileref in a function. So, fixed that syntax error in that method.

Removed

- `None` Nothing removed

5.4.1

Added

- `None` Nothing added

Changed

- `Tweak` Added to the doc for the HTTP access method, adding the 'refreshtoken' keyword which goes along with the
'authtoken' keyword if you did your own authentication to SASLogon. Refreshtoken was added when authtoken was, I just
didn't get it in the doc then.

Fixed

- `Fixed` Based upon Issue 562, I enhanced sd2df() to allow you to provide 'errors=' as a keyword parameter which is
used in the decode() method when converting the bytes being streamed across to characters. The errors keyword determines
how transcoding failures are handled; the default being failure. See bytes.decode() in the Python doc for valid values.

Removed

- `None` Nothing removed

5.4.0

Added

- `None` Nothing added

Changed

- `Tweak` Changed the doc for saslib() to show how to deassign a libref using this method, as well
as how it's already doc'ed for assigning librefs. Nothing changed with the method, just documenting how to use
it for both assign and deassign.

Fixed

- `Fixed` An internal user found a bug with sd2df() where it was converting character variables values of
'NA' in the SAS Data Set to NaN in the dataframe instead of them being the string 'NA'. This turned out to
be due to the interaction of the na_values={...} dictionary I pass in, since I need to normalize the 30ish
different MISSING Values that SAS has, to individual values to provide Pandas so they are processed correctly.
The problem, however, is that the default value of keep_default_na= being True, appends my list to Pandas
list of what it thinks values are for NaN's instead of only using my list. The file is to specify keep_default_na=True
as well as provide my list via na_values={...}. That is fixed in this release.

Removed

- `None` Nothing removed

Page 2 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.