Skip to content

Releases: civisanalytics/civis-python

v1.11.0

26 Aug 21:33
6cf4ac8
Compare
Choose a tag to compare

1.11.0 - 2019-08-26

Added

  • Add CLI command "sql" for command line SQL query execution. (#319)
  • Add helper function (run_template) to run a template given its id and return
    either the JSON output or the associated file ids. (#318)
  • Add helper function to list CivisML models. (#314)
  • Added helper functions to share CivisML models with users or groups,
    patterned after the existing API sharing endpoints. (#315)
  • Allow the base URL of the CLI to be configured through the
    CIVIS_API_ENDPOINT environment variable, like the civis Python module. (#312)
  • Allow the CLI log level to be configured with the CIVIS_LOG_LEVEL
    environment variable with the standard logging module levels.
    For example: CIVIS_LOG_LEVEL=DEBUG civis users list-me (#312)
  • Allow users to access civis.utils.run_job after an import civis. (#305)
  • civis.io.dataframe_to_file and civis.io.json_to_file convenience functions.
    (#262, #304)
  • Add the user's Python version to the User-Agent string. (#255, #301)
  • Added a last_response parameter to the APIClient object. (#153, #302)
  • The deprecate_param decorator can take multiple parameter names, to allow
    Python 2.7 compatibility for multiple deprecations. (#311)

Fixed

  • Added missing docs for json_to_file and dataframe_to_file (#320).
  • Fix unintentional dependency on scikit-learn for parallel module tests. (#245, #303)
  • Deprecate the headers parameter of dataframe_to_civis and always tell Civis
    whether the import has headers or not, rather than autodetecting. (#263, #307)
  • Set cloudpickle requirements to <1.2 on Python v3.4. (#309)
  • Fixed an issue in the CLI which prevented users from accessing GET /aliases/{id}
    and simultaneously generated a warning message. (#298, #316)

Changed

  • Loosened version requirements of pyyaml to include pyyaml<=5.99. (#293)
  • Loosened version requirement of jsonref to include 0.2 to fix a
    DeprecationWarning under Python 3.7. (#295)
  • Changed pubnub version requirement in requirements.txt to match setup.py
    (#295)
  • Loosened version requirements of click to include v7 and jsonschema
    to include v3. (#286, #300)
  • Surfaced civis.io.split_schema_tablename in the Sphinx docs. (#294)
  • Loosen joblib version requirement to include v0.13 and add code to
    the Civis joblib backend which newer versions of joblib can take
    advantage of. Also loosened version requirement on cloudpickle to
    include v1. (#296, #299)
  • Run all tests in Ubuntu Xenial. (#310)

v1.10.0

09 Apr 20:38
18e9f9b
Compare
Choose a tag to compare

Added

  • CivisFuture has the job_id and run_id property attributes. (#290)

Fixed

  • Polling will treat None responses generated by spotty internet connections
    like responses with a non-DONE state. (#289)

v1.9.4

28 Feb 20:02
6b9ccf7
Compare
Choose a tag to compare

Fixed

  • get_table_id will correctly handle quoted schema.tablename. (#285)
  • Fix parsing of empty responses from run cancellation endpoints. (#287)

1.9.3 - 2019-02-05

05 Feb 21:46
971ae09
Compare
Choose a tag to compare

Fixed

  • Correct prediction template id for CivisML 1.0 (#278)
  • civis.ml.ModelFuture.table checks for primary key before reading in
    data. (#276)

Added

  • Test for Python 3.7 compatibility (#277)

Changed

  • Updated mock API specs (#281)

v1.9.2

03 Dec 20:12
eb5d46c
Compare
Choose a tag to compare

1.9.2 - 2018-12-03

Fixed

  • civis.io.civis_to_file will now retry on S3 connection errors (#273)
  • Buffers will be reset appropriately on connection failures during
    civis.io.file_to_civis (#273)

v1.9.1

15 Nov 17:38
7a08b8c
Compare
Choose a tag to compare

1.9.1 - 2018-11-15

Fixed

  • _stash_dataframe_as_csv in civis/ml/_model.py now uses a StringIO
    object which has the getvalue method (required by pandas v0.23.1
    if a file-like object is passed into df.to_csv). (#259)
  • civis_to_multifile_csv fully respects the client keyword argument

Added

  • Added instructions in the README for adding an API key to a Windows 10
    environment
  • Configured Windows CI using AppVeyor. (#258)

Changed

  • Coalesced README.rst and index.rst. (#254)
  • joblib documentation has moved to readthedocs. (#267)

v1.9.0

25 Apr 20:35
60a86aa
Compare
Choose a tag to compare

1.9.0 - 2018-04-25

Fixed

  • Added more robust parsing for tablename parsing in io. You may now
    pass in tables like schema."tablename.with.periods".
  • Adding in missing documentation for civis_file_to_table
  • Include JSON files with pip distributions (#244)
  • Added flush to civis_to_file when passed a user-created buffer,
    ensuring the buffer contains the entire file when subsequently read.
  • Fix several tests in the test_io module (#248)
  • Travis tests for Python 3.4 are now restricted to pandas<=0.20, the
    last version which supported Python 3.4 (#249)

Added

  • Added a utility function which can robustly split a Redshift schema name
    and table name which are presented as a single string joined by a "." (#225)
  • Added docstrings for civis.find and civis.find_one. (#224)
  • Executors in futures (and the joblib backend, which uses them) will now
    add "CIVIS_PARENT_JOB_ID" and "CIVIS_PARENT_RUN_ID" environment variables
    to the child jobs they create (#236)
  • Update default CivisML version to v2.2. This includes a new function
    ModelPipeline.register_pretrained_model which allows users to train
    a model outside of Civis Platform and use CivisML to score it at scale (#242, #247).
  • Added a new parameter dvs_to_predict to civis.ml.ModelPipeline.predict.
    This allows users to select a subset of a model's outputs for scoring (#241).
  • Added civis.io.export_to_civis_file to store results of a SQL query
    to a Civis file
  • Surfaced civis.find and civis.find_one in the Sphinx docs. (#250)

Changed

  • Moved "Optional Dependencies" doc section to top of ML docs, and
    added clarifications for pre-defined models with non-sklearn
    estimators (#238)
  • Switched to pip install-ing dependencies for building the documentation (#230)
  • Added a merge rule for the changelog to .gitattributes (#229)
  • Default to "all" API resources rather than "base".
  • Updated documentation on algorithm hyperparameters to reflect changes with
    CivisML v2.2 release (#240)

v1.8.1

01 Feb 15:54
4233867
Compare
Choose a tag to compare

1.8.1 - 2018-02-01

Fixed

  • Added missing string formatting to a log emit in file multipart upload and
    correct ordering of parameters in another log emit (#217)

Changed

  • Updated CivisML 2.0 notebook (#214)
  • Reworded output of civis notebooks new CLI command (#215)

Added

  • Added a script for integration tests (smoke tests) (#216)

v1.8.0

23 Jan 14:42
fdee708
Compare
Choose a tag to compare

1.8.0

2018-01-23

https://github.com/civisanalytics/civis-python/milestone/13

Added

  • Documentation updated to reflect CivisML 2.1 features (#209)
  • civis.io.dataframe_to_civis, civis.io.csv_to_civis, and civis.io.civis_file_to_table functions now support the diststyle parameter.
  • New notebook-related CLI commands: "new", "up", "down", and "open".
  • Additional documentation for using the Civis joblib backend (#199)
  • Documented additional soft dependencies for CivisML (#203)

Changed

  • Changed ModelPipeline.train default for n_jobs from 4 to None, so that n_jobs will be dynamically calculated by default (#203)
  • Use "feather"-formatted files to send data from users to CivisML, if possible. Require this when using pd.Categorical types, since CSVs require us to re-infer column types, and this can fail. Using feather should also give a speed improvement; it reads and writes faster than CSVs and produces smaller files (#200).
  • ModelFuture objects will emit any warnings which occurred during their corresponding CivisML job (#204)
  • Removed line setting "n_jobs" from an example of CivisML prediction. Recommended use is to let CivisML determine the number of jobs itself (#211).
  • Update maximum CivisML version to v2.1; adjust fallback logic such that users get the most recent available release (#212).

Fixed

  • Restored the pre-v1.7.0 default behavior of the joblib backend by setting the remote_backend parameter default to 'sequential' as opposed to 'civis'. The default of 'civis' would launch additional containers in nested calls to joblib.Parallel. (#205)
  • If validation metadata are missing, ModelFuture objects will return None for metrics or validation metadata, rather than issuing an exception (#208)
  • Allowed callers to pass index and encoding arguments to the to_csv method through dataframe_to_civis.

Performance Enhancements

  • civis.io.file_to_civis now uses additional file handles for multipart upload instead of writing to disk to reduce disk usage
  • civis.io.dataframe_to_civis writes dataframes to disk instead of using an in memory buffer

v1.7.2

09 Jan 21:23
Compare
Choose a tag to compare

1.7.2 - 2018-01-09

Fixed

  • Relaxed requirement on cloudpickle version number (#187)
  • Restore previous behavior of civis.io.civis_to_csv when using "compression='gzip'" (#195)