Skip to content

Releases: move-coop/parsons

v0.14.0 - PDI and other enhancements

18 Jun 20:46
89c9049
Compare
Choose a tag to compare

Feature additions:

  • New PDI Connector - Get flags, questions, acquisition types, and more from the PDI API (h/t @dannyboy15)

Enhancements:

  • Add the VAN.get_target_export method for pulling down people for a target (h/t @sduttacheezit)
  • Add the SFTP.get_table method to pull down a CSV file from an SFTP server as a Parsons table (h/t @jburchard)
  • Add the Table.materialize_to_file method to apply pending transformations to a Table without having to load all of the data into memory (h/t @eliotst)
  • Refactor the GoogleSheets class to accept either the worksheet ID or name when operating on worksheets in a Google Sheet (h/t @jburchard)
  • Add a flag to the Redshift.upsert method to adjust column sizes on the target table if the data is too big (h/t @SorenSpicknall)

Fixes:

  • Fix the Phone2Action connector to be consistent with the data returned by the API (h/t @eliotst)
  • Documentation fixes (h/t @joemcl)

v0.13.2 - Security patch

22 May 01:08
Compare
Choose a tag to compare

Bump to version of httplib2 from v0.12.0 to v0.18.0 to resolve a security flaw. For more information, see: https://github.com/httplib2/httplib2/blob/9bf300cdc372938f4237150d5b9b615879eb51a1/CHANGELOG#L7-L12

v0.13.1 - Minor bug fix

15 May 20:59
5cfaddf
Compare
Choose a tag to compare

Bug fix:

  • Add a missing Python package __init__.py file for the parsons.action_network package

v0.13.0 - ActionNetwork, MailChimp, Zoom, and more

14 May 21:49
e67f48a
Compare
Choose a tag to compare

Feature additions:

  • New ActionNetwork Connector - Fetch, create, and update people through the ActionNetwork API (h/t @dekedor and @ydamit)
  • New MailChimp Connector - Pull down information about lists, emails, and unsubscribes from the MailChimp API (h/t @SorenSpicknall)
  • New Zoom Connector - Track who has attended your meetings through the Zoom API (h/t @jburchard and @mkwoods927)
  • New Rock The Vote Connector - Download reports of your voter registration efforts through Rock the Vote’s Rocky API (h/t @eliotst)
  • New new/mode Connector - Get information about campaigns, targets, and actions from the new/mode API (h/t @mirabuck)
  • New Braintree Connector - Fetch transaction history and information about disputes from the Braintree Payment API (h/t @schuyler1d)
  • Break up processing of large tables across multiple AWS Lambda instances with the new distribute_task function (h/t @schuyler1d)
  • Google BigQuery databases can now be used in our DB sync functionality, both as a source and a target (h/t @eliotst)

Enhancements:

  • Hustle create_leads now returns the IDs of the leads created (h/t @jburchard)
  • Improve performance of Redshift upsert by defaulting to compupdate=False (h/t @schuyler1d)
  • Add ability to share a sheet to Google Sheet Connector (h/t @jburchard)

Fixes:

  • Fix convert_columns_to_str to properly handle empty tables (h/t @eliotst)
  • Resolve issue with conflicts in requirements.txt (h/t @eliotst)
  • Use byte-length when determining column length instead of standard string length (h/t @ydamit)
  • Fix a bug in Google Sheets connector where appending to an empty sheet caused an error (h/t @jburchard)

v.12.0 - MySQL Connector, Email Notifications and ActionKit Bulk Uploads

08 Apr 20:40
9d1efcb
Compare
Choose a tag to compare

Feature Additions

  • MySQL Connector - Allows user to query, copy and run db syncs utilizing MySQL.
  • Email Notifications - Adds support for generic SMTP to send email notifications (h/t @schuyler1d).
  • ActionKit Bulk Uploads - Adds support for ActionKit bulk uploads (h/t @schuyler1d).
  • Redshift.copy() adds configuration for attempting to widen columns that are too narrow for the data that is being copied in (Redshift.copy(tbl, 'my_table', alter_table=True).

Bug Fixes

  • Handle a non-existent target table when running Redshift.upsert(). It will not not fail when you are trying to upsert and the target table does not exist. Instead, it will run a standard Redshift.copy().
  • Redash query API key bug fix (h/t @schuyler1d).
  • Bill.com max return fix.
  • Redshift.upsert does a better job of handling the column types of data being upserted (h/t @schuyler1d).
  • Fix a bug in the VAN Connector's create_code method.

v0.11.1 - Minor bug fix

12 Mar 18:50
Compare
Choose a tag to compare

Fixes

  • Add a missing __init__.py file for the parsons.bill_com package.

v0.11 - Database syncing, Redash, Freshdesk, and more

09 Mar 16:39
43ee6cb
Compare
Choose a tag to compare

Feature additions

  • New DBSync class - Sync data in tables across databases. Currently, we support syncing for Redshift and Postgres, but we are looking to add more databases in the future.
  • New Freshdesk Connector - Fetch tickets, contacts, and agents from the Freshdesk API.
  • New Redash Connector - Refresh queries and download data from the Redash API. (h/t @schuyler1d for the PR)
  • New BillCom Connector - Manage customers and invoices via the bill.com API. (h/t @dekedor for the PR)

Enhancements

  • Added to_postgres and from_postgres methods to the Parsons Table class.
  • Added the ability to apply codes to people in VAN.
  • Added the ability to set the phone type when creating a person in VAN.
  • Tweaked how Parsons handles imports to better support using Parsons in environments with limited resources. (h/t @schuyler1d)
  • The Redshift upsert method now supports using multiple columns as a primary_key for deduplication of records.
  • Moved our facebook-business dependency to 6.0.0 to support newer apps.
  • Added support for getting data about custom fields in VAN.

Fixes

  • Fixed a bug in the pagination code for VAN events.

v0.10 - Salesforce and other small enhancements.

05 Feb 16:24
e24d5f9
Compare
Choose a tag to compare

Feature Additions:

  • New Salesforce Class with the following methods:
    • Salesforce.query()
    • Salesforce.insert_record()
    • Salesforce.update_record()
    • Salesforce.upsert_record()
    • Salesforce.delete_record()
  • Added VAN.delete_supporter_groups() method
  • Added ability to pass RSA key for SFTP connector. (h/t @angloyna for PR)
  • Added Table.column_data() method that returns data in a column as a list.
  • Improved Table indexing. To access a column pass in the column name as a string (e.g. tbl['a']) and to access a row, pass in the row index as an integer (e.g. tbl[1]).
  • Added environmental setup documentation
  • Removed MobileCommons connector temporarily as their API is not functioning and they are developing a new version.
  • Added the ability to delete original file when running S3.transfer_bucket()
  • Various Redshift and Airtable bug fixes.

v0.9 - Postgres, BigQuery Copy, VAN Upload Saved Lists

22 Dec 20:03
3e65128
Compare
Choose a tag to compare

Feature Additions

  • New Postgres Class
    • Postgres.copy() - Copy tables to Postgres
    • Postgres.query() - Query Postgres DB
  • GoogleBigQuery.copy() - Copy tables to BigQuery
  • VAN.upload_saved_list() - Upload saved lists to VAN.
  • ActionKit.create_generic_action() - Post a generic action.
  • Parsons Tables are now displayed in a pretty manner in Jupyter Notebook, similar to Pandas dataframes.
  • Redshift.alter_column_widths() - Method to auto-widen a Redshift table to match the width of a Parsons table. This is useful when trying to append data to an existing table.

Small Enhancements

  • GoogleSheets.append_to_sheet() and GoogleSheets.overwrite_sheet() now allow you to pass in formulas.
  • VAN.get_person(), VAN.get_event(), VAN.get_event() now return more fields.
  • Table.to_s3_csv() now have ability to specify access control to uploaded file.
  • GoogleCloudStorage.download_blob() no longer requires that the user be permissioned on the bucket.

Small Fixes

  • Improved documentation.
  • Bug fixes for Slack, Table and Airtable, Redshift
  • Improved Slack error handling
  • Improved contributors.md documentation.
  • Improved logging.
  • Updated dependencies.

v0.8.1 - New BigQuery and Twilio connectors, VAN features and bug fixes

11 Nov 18:53
71c23b4
Compare
Choose a tag to compare

BigQuery
A new connector that allows you to query BigQuery databases. Future releases will include the ability to copy data into BigQuery.

  • BigQuery.query()

Twilio
A new connector allows you to access account usage and messages that you have sent from your account.

  • Twilio.get_messages()
  • Twilio.get_account()
  • Twilio.get_accounts()
  • Twilio.get_account_usage()

VAN

  • VAN.upload_scores() - New method that significantly simplifies the loading and approving of scores to VAN.
  • Various bug fixes to improve the stability of the connector. Under the hood, all of the connectors have been refactored to make the code more rational and the responses more standardized.

Table

  • Table.first is a new attribute that returns the first value in a Parsons table. This is useful for database queries that only return a single value and keeps you from having to index the table directly.
tbl = rs.query("select count(*) from schema.table")
tbl.first
>>> 10
my_count = rs.query("select count(*) from schema.table").first
>>> 10
  • Table.from_csv() Improved the error handling with this to raise an exception if you are trying to load in any empty CSV file.

Windows Usage
There was a bug in the handling of temporary files which prohibited Windows users from running many Parsons methods. This has been resolved.