Skip to main content

Get current parliament bills from Australian governments.

Project description

Aus Bills

This is a package is for obtaining parliament bills for Australian governments.

Install via pip

pip install ausbills

Current governments that are supported:

  • Australian Federal Government
  • Australian Capital Territory Government

Australian Federal Government

This module had methods for scraping the Australian Federal Parliament website, using beautiful soup.

The bills are scraped to get data from both the house and the senate:

from ausbills.federal_parliment import get_all_bills, Bill
all_bills = get_all_bills()
print(all_bills)
bill_five = all_bills[5]

all_bills.data is a list of all current bills and some basic data in the form of a dict. The rest of the data may be obtained via the Bill() object.

bill = Bill(bill_id=bill_five["id"])
print(bill.summary)
print(bill.sponsor)
print(bill.bill_text_links)
print(bill.explanatory_memoranda_links)

or you can use the url string to create an instance of Bill():

bill = Bill(bill_five["url"])

or the id

bill = Bill(bill_five["id"])

You may also change the date format:

bill = Bill(bill_five["id"],"DD/MM/YYYY")

and you can get the data dump as a dict:

bill.data

NSW Government

Using the nsw_parliament module, you can scrape bills from the NSW Parliament website

Use nsw_all_bills to return a list of bill dicts (each dict represents an individual bill).

from nsw_parliament import nsw_all_bills

print(nsw_all_bills)
print('The first bill returned: ' + nsw_all_bills[0])

You can return more data on an individual bill using the nsw_Bill object:

from nsw_parliament import nsw_all_bills, nsw_Bill

all_the_bills_mate = nsw_all_bills
print(nsw_Bill(all_the_bills_mate).status)

ACT Legislative Assembly

This module allows you to scrape bill data from the Australian Capital Territory Legislative Assembly website using beautiful soup.

Similarly to the Federal Parliament and WA modules, you can scrape all the bills like this:

from act_legislative_assembly import act_all_bills as all_bills

print(all_bills)
print('The 5th Bill is ' + all_bills[4])

You can interact with individual bills with the act_Bill() object:

all_the_bills = all_bills
some_bill = act_Bill(all_the_bills[5])
print(some_bill.title)

Contributing

We use BeautifulSoup to scrape the bills from the Bills websites. so make sure you become familiar with the docs here.

Fork the repo and install requirements

pip3 install -r requirements.txt

Each state should their own bills and corresponding website. Add a python file for a new state in the /ausbills dir. the python file should have the naming convention: wa_parliment.py for Western Australia for example. Make sure we all agree on method/object/output conventions (use federal_bills as a guide). Once you are happy, update the README on method usage and make a Pull Request.


Upgrade package

Change VERSION in setup.py, then:

git tag -a 0.1.0 -m "update version 0.1.0"
git push origin 0.1.0

Todo

  • Write better usage docs

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ausbills-0.4.0.tar.gz (15.5 kB view hashes)

Uploaded Source

Built Distribution

ausbills-0.4.0-py3-none-any.whl (16.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page