Skip to content

Releases: civisanalytics/civis-python

v1.16.0

14 Dec 11:06
96a31a7
Compare
Choose a tag to compare

Added

  • Added documentation around testing code using mocking (#447)
  • Added the type of civis.response.Response and civis.response.PaginatedResponse
    returned in the API resources documentation (#438)
  • Added job ID and run ID as custom headers in API calls (#437)
  • Added support for Python 3.9 (#436)
  • Added job ID and run ID to the exception message of CivisJobFailure
    coming from a CivisFuture object (#426)
  • Added the encoding parameter to both civis.io.read_civis and civis.io.read_civis_sql,
    so that these two functions can retrieve non-UTF-8 data when use_pandas is False. (#424)
  • ContainerFuture propagates error messages from logs (#416)
  • Added EmptyResultError to civis.io.read_civis docs (#412)
  • Added default values from swagger in client method's signature (#417)

Changed

  • Explicitly stated CSV-like civis file format requirement in
    civis.io.civis_file_to_table's docstring (#445)
  • Called out the fact that joblib.Parallel's pre_dispatch defaults to "2*n_jobs"
    in the Sphinx docs (#443)
  • Updated civis_api_spec.json, moved it to under civis/resources/, and checked in
    a script to facilitate updating it again (#440, #441)
  • Bumped version numbers for dependencies to allow their latest major releases (#436)
  • Switched from TravisCI to CircleCI (#432)
  • Moved the changes from #416 for propagating error messages
    from ContainerFuture to CivisFuture (#426)
  • Updated the docstrings for file_to_civis (for buf and expires_at),
    dataframe_to_file (for expires_at), and json_to_file (for expires_at). (#427)
  • Ability to use joblib 1.1.x (#429)

Fixed

  • Relaxed SQL type checking in civis.io.civis_file_to_table by casting to VARCHAR
    when type inconsistency is detected for a given column and at least one input file
    has VARCHAR (#439)
  • Updated info about MacOS shell configuration file to be ~/.zshrc (#444)
  • Fixed the Sphinx docs to show details of multi-word API endpoints (#442)
  • Dropped the buggy/unnecessary _get_headers in civis.io.read_civis_sql (#415)
  • Clarified the table_columns parameter in civis.io.* functions (#434)
  • Warned about the retry_total parameter of civis.APIClient being inactive and deprecated (#431)
  • Converted assert statements in non-test code into proper error handling (#430, #435)
  • Handled the index-out-of-bounds error when CSV preprocessing fails in civis_file_to_table
    by raising a more informative exception (#428)
  • Corrected camel to snake case for "sql_type" in io docstrings, and added an input check to catch misspellings in the table_columns input (#419).

Removed

  • Dropped support for Python 3.6 (#436)
  • Removed no-longer-used PubNub code (#425)
  • Removed no-longer-supported Python 2 option for notebook creation in the CLI (#421)

Security

  • Turned on safety and bandit checks at CircleCI builds (#446)

v1.15.1

28 Oct 21:39
3121d5c
Compare
Choose a tag to compare

Fixed

  • fixes bug whereby calls with iterate=True do not retry (#413)

v1.15.0

29 Sep 15:01
a14ecd5
Compare
Choose a tag to compare

Changed

  • Bump minimum pubnub version to 4.1.12 (#397)
  • In civis.io.civis_file_to_table, ensure that data types are detected when table_columns are provided with no sql_types. Additionally, throw an error if some sql_types are provided and not others. (#400)
  • Retain specific sql types when there are multiple input files and table_columns specified in civis.io.civis_file_to_table (#402)
  • Removed Python 3.5 support (#404)
  • Updated list of base API resources to include aliases, git_repos, json_values, services, and storage_hosts so that they show up in the sphinx docs (#406)
  • Update the API spec at civis/tests/civis_api_spec.json so that new endpoints are included (e.g., /exports/files/csv) (#407)
  • Refactor file cleaning logic for civis.io.civis_file_to_table (#405)
  • Refactored retry logic to use tenacity package, added random jitter on retries, and retry on POST 429 and 503s. (#401)

Fixed

  • Fixed a workflows usage example in docs/source/client.rst that had an incorrect endpoint. (#409)
  • Fixed a bug in parsing responses that included "update" as a key (e.g., in column information from client.tables.get(...)). (#410)

v1.14.2

03 Jun 13:57
3fdceb9
Compare
Choose a tag to compare

Added

  • Added support for Python 3.8 (#391)

Fixed

  • Fixed a bug in the CLI tool which caused failed commands to exit with a 0 exit status. (#389)
  • Fixed some issues that the newly-released flake8 3.8 complained about, including a buggy print statement for logging in run_joblib_func.py. (#394)
  • Fixed a bug when cancelling jobs while using the Civis joblib backend. (#395)

Changed

  • Added additional detail to civis.io.dataframe_to_civis, civis.io.csv_to_civis, and civis.io.civis_file_to_table's docstrings on the primary key parameter. (#388)
  • Made polling threads for Civis futures be daemon threads so that Python processes will shut down properly in Python 3.8 (#391)
  • Removed deprecation warning on the file_id parameter of civis.io.civis_file_to_table. The parameter name will be kept in v2. (#360, #393)
  • Show tables of methods for each set of endpoints in the API Resources pages. (#396)

v1.14.1

22 Apr 20:37
f8a5366
Compare
Choose a tag to compare

Fixed

  • Fixed a bug in the ServiceClient where the API root path was not passed when generating classes. (#384)

v1.14.0

22 Apr 14:28
39b6498
Compare
Choose a tag to compare

Added

  • Added .outputs method to retrieve outputs from CivisFuture
    objects. (#381)
  • Added table_columns parameter to civis.io.civis_file_to_table, civis.io.dataframe_to_civis, and civis.io.csv_to_civis (#379)

Fixed

  • Fixed/relaxed version specifications for click, jsonref, and jsonschema. (#377)

Removed

  • Removed support for Python 2.7 and 3.4. (#378)

Changed

  • No longer require ServiceClient to be instantiated to parse a
    service api spec. (#382)

v1.13.1

06 Mar 22:07
9a777a5
Compare
Choose a tag to compare

1.13.1 - 2020-03-06

Added

  • Suppressed FutureWarning from sklearn.externals.joblib. (#375)

v1.13.0

05 Mar 19:50
ab19a8a
Compare
Choose a tag to compare

Added

  • Add civis jobs follow-log and civis jobs follow-run-log CLI commands. (#359)
  • Add documentation for follow-log CLI Commands to main docs. (#367)

Fixed

  • Fixed a bug related to duplicating parent job parameters when using civis.parallel.infer_backend_factory. (#363)
  • Fixed crashing on NULL fields in civis sql CLI command. (#366)
  • Fixed hidden parameter not getting used in civis.io.civis_file_to_table. (#364)
  • Fixed effective_n_jobs to account for n_jobs=None, which is a default for the LogisticsRegression in sklearn=0.22.x. (#365)
  • Fixed crashing on NULL fields in civis sql CLI command (#366)
  • Fixed a bug related to creating a ModelPipeline from a registered model. (#369)
  • Fixed readme and setup.py to appease twine. (#373)

Changed

  • Made repeated invocations of civis.tests.create_client_mock faster by caching the real APIClient that the mock spec is based on (#371)

v1.12.1

10 Feb 17:44
94da3a0
Compare
Choose a tag to compare

1.12.1 - 2020-02-10

Fixed

  • Fixed issue where client did not generate functions for deprecated API endpoints. (#353)

Changed

  • Changed ServiceClient to raise CivisAPIError. (#355)
  • Updated documentation language for CivisML version. (#358)

v1.12.0

14 Jan 18:52
925d05c
Compare
Choose a tag to compare

1.12.0 - 2020-01-14

Added

  • Added method get_storage_host_id to the APIClient. (#328)
  • Added debug logging to some civis.io functions. (#325)
  • Added ServiceClient and ServiceEndpoint class. (#343)
  • Added new arguments to civis.io.civis_to_multifile_csv to expose max_file_size parameter. (#342)

Fixed

  • Removed incorrect "optional" marker for the sql argument in I/O
    functions. (#338)
  • Raise a more informative exception when calling file_to_dataframe
    on an expired file. (#337)
  • ModelPipeline.register_pretrained_model should persist the user-supplied
    estimator object indefinitely. (#331)
  • Fixed requirements.txt listing for cloudpickle -- >=0.2, not <=0.2. (#323)
  • Fixed issue in civis.io.read_civis_sql when returning data that contains
    double quotes. (#328)
  • Fixed issue with pyyaml version for Python 3.4 by requiring pyyaml version <=5.2

Changed

  • Updated cloudpickle and joblib dependencies. (#349)
  • CivisML uses platform aliases instead of hard-coded template IDs. (#341, #347)
  • CivisML versions and pre-installed packages are documented on Zendesk instead. (#341)
  • Issue a FutureWarning on import for Python 2 and 3.4 users. (#333,
    #340)
  • Pass headers and delimiter to Civis API endpoint for cleaning files in civis.io.civis_file_to_table. (#334)
  • Issue a FutureWarning on import for Python 2 users. (#333)
  • Update the Civis logo in the Sphinx documentation. (#330)
  • Allow the name arg to be optional in civis.io.file_to_civis. (#324)
  • Refactor civis.io.civis_file_to_table to use a new set of Civis API endpoints for cleaning and importing CSV files. (#328)
  • Added new arguments to civis.io.civis_file_to_table to expose additional functionality from new Civis API endpoints. (#328)
  • Added new arguments from civis.io.civis_file_to_table to dataframe_to_civis and csv_to_civis methods. (#328)