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 ausbills.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 ausbills.nsw_parliament import nsw_all_bills, nsw_Bill

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

ACT Government

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 ausbills.act_parliament 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)

Queensland Government

This module integrates with the Queensland government's legislation site to pull bills.

Queensland is a bit different to the other jurisdictions' modules, because it returns its bills in a JSON format. However returning the bills still works the same way:

Return all bills in a list:

from ausbills.qld_parliament import qld_all_bills, qld_Bill

bills_list = qld_all_bills
print(bills_list[45])

To get more data from an individual bill, use the qld_Bill class:

from aubills.qld_parliament import qld_all_bills, qld_Bill

some_bill_mate = qld_all_bills[72]
bill_obj = qld_Bill(some_bill_mate)

# Print the Explanatory Note URL:
print('Click me:\n' + bill_obj.explanatory_note)

Contributing

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

We use json for the Queensland site, so get familiar with that 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.8.0.tar.gz (22.0 kB view details)

Uploaded Source

Built Distribution

ausbills-0.8.0-py3-none-any.whl (26.4 kB view details)

Uploaded Python 3

File details

Details for the file ausbills-0.8.0.tar.gz.

File metadata

  • Download URL: ausbills-0.8.0.tar.gz
  • Upload date:
  • Size: 22.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for ausbills-0.8.0.tar.gz
Algorithm Hash digest
SHA256 bd074d049c9812bbb2c13f033c2f27895ced554ed71ba5976125547005b4fb50
MD5 2c54042f50b420b359b4e3c1cbe707ad
BLAKE2b-256 957046aebb4f1e3ba3ebb0c9ed1988af2d78c42db37fff58ef2eb84c2afbe049

See more details on using hashes here.

File details

Details for the file ausbills-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: ausbills-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 26.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for ausbills-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 23228804cf6473ecbe3a3e0c0cb21fe356d3775e4841fd3ed5ae2a3e2dba8923
MD5 765e677f2c8e67dd35b25e8e77a95797
BLAKE2b-256 95352788ac1324e9ea2ee8c5952591925baf7cfae986d5922a701eb9f18abfc5

See more details on using hashes here.

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