This is a python library for managing a hosts file. It enables you to add and remove entries, or import them from a file or URL. Utility functions have been streamlined for easier maintenance. It remains compatible with Python 2.7 as well as modern Python 3 releases.
The docs are hosted on RTD (Read The Docs) here:
http://python-hosts.readthedocs.org/en/latest/index.html.
Changelog available here.
pip install python-hosts
Adding an entry to a hosts file
from python_hosts import Hosts, HostsEntry
hosts = Hosts(path='hosts_test')
new_entry = HostsEntry(entry_type='ipv4', address='1.2.3.4', names=['www.example.com', 'example'])
hosts.add([new_entry])
hosts.write()
Importing a list of host entries by URL
from python_hosts import Hosts
hosts = Hosts(path='hosts_test')
hosts.import_url(url='https://gist.githubusercontent.com/jonhadfield/5b6cdf853ef629f9b187345d89157280/raw/ddfa4a069fb12bf3c1f285249d44922aeb75db3f/hosts')
hosts.write()
A command line client using python-hosts can be found here: https://github.com/jonhadfield/hostman
Tested on Python 2.7 and Python 3.5+, including PyPy variants
MIT