Metadata-Version: 2.0
Name: Ranch
Version: 0.2.0
Summary: Ranch does addressing in Python
Home-page: https://github.com/3DHubs/ranch
Author: Martijn Arts
Author-email: martijn@3dhubs.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Dist: beautifulsoup4
Requires-Dist: flake8
Requires-Dist: percache
Requires-Dist: progressbar2
Requires-Dist: requests

Ranch
=====

    *Ranch is a dressing… get it?*

In which addressing is easy
---------------------------

Doing addressing is hard. There's too many
`exceptions <https://www.mjt.me.uk/posts/falsehoods-programmers-believe-about-addresses/>`__,
`differences <https://en.wikipedia.org/wiki/Address_(geography)#Mailing_address_format_by_country>`__
and `human
involvement <http://grcdi.blogspot.nl/2011/01/myth-of-deliverability.html>`__;
making the entire process overwhelmingly
`depressing <https://www.instagram.com/sadtopographies/>`__.

In which addressing has never been done before
----------------------------------------------

Luckily, we're not the first people to have faced this problem.
`Plenty <https://github.com/commerceguys/addressing>`__
`of <https://github.com/googlei18n/libaddressinput>`__
`people <https://github.com/openvenues/libpostal>`__ have attempted to
tackle the problem of addressing, and plenty have succeeded! So no,
Ranch isn't reinventing the wheel entirely. Instead, we're working with
Google's excellent i18n dataset: downloading it, parsing it, outputting
data.

In which I have to do everything myself
---------------------------------------

Ranch is built as an object to store your address data in. So instead of
having you access a bunch of stuff and doing checks yourself, Ranch
allows you to enter address field data and poll for whatever the next
set of fields is to fill in.

After that you can simply call a ``str(address)`` to correctly format
the address for the address' locality. That's all you need to get a
(technically) deliverable postal address from your users.

In which all that made sense
----------------------------

See ``try_me.py`` for an example: a commandline-based address form.


