A Python package that provides a simple interface to a variety of utilities and tools frequently used by progressive organizations, political and issue campaigns, activists, and other allied actors.
Parsons offers simplified interactions with these services and tools, including a growing number of CRMs, organizing tools, cloud compute service providers, as well as tools to easily trasform data in transit.
This project maintained by The Movement Cooperative and is named after Lucy Parsons. The Movement Cooperative is a member led organization focused on providing data, tools, and strategic support for the progressive community.
Parsons is only compatible with Python 3.6/7
Usage of Parsons is governed by the TMC Parsons License, which allows for unlimited non-commercial usage, provided that individuals and organizations adhere to our broad values statement.
The gain a full understanding of all of the features of Parsons, please review the Parson's documentation.
You can install the most recent release by running: pip install parsons
To access the most recent code base that may contain features not yet included in the latest release, download this repository and then run python setup.py develop
.
We have a Parsons Docker container hosted on DockerHub for each release of Parsons, including the latest
.
# VAN - Download activist codes to a CSV
from parsons import VAN
van = VAN(db='MyVoters')
ac = van.get_activist_codes()
ac.to_csv('my_activist_codes.csv')
# Redshift - Create a table from a CSV
from parsons import Table
tbl = Table.from_csv('my_table.csv')
tbl.to_redshift('my_schema.my_table')
# Redshift - Export from a query to CSV
from parsons import Redshift
sql = 'select * from my_schema.my_table'
rs = Redshift()
tbl = rs.query(sql)
tbl.to_csv('my_table.csv')
# Upload a file to S3
from parsons import S3
s3 = S3()
s3.put_file('my_bucket','my_table.csv')
# TargetSmart - Append data to a record
from parsons import TargetSmart
ts = TargetSmart(api_key='MY_KEY')
record = ts.data_enhance(231231231, state='DC')
We hope to foster a strong and robust community of individuals who use and contribute to further development. Individuals are encouraged to submit issues with bugs, suggestions and feature requests. Here are the guidelines and best practices for contributing to Parsons.
You can also stay up to date by joining the Parsons python google group.