This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

This library acts as a wrapper around the wonderful [requests]( library for accessing [Datagrepper](



The API is designed around being chainable. To start, create a new Grepper:

>>> from datanozzle import Grepper
>>> g = Grepper()

Then, you can build up queries by chaining methods (each new method returns a new query object, so you can reuse partially built queries):

>>> q1 = g.by_user('sross').ascending
>>> q2 = q1.by_topic('')

Queries are not executed until they are evaluated by iterating over them (the library will automatically continue to fetch new pages of information). Each record is returned as an Entry, which has several persistent fields (which are accessible as properties), and additional data available in a dict-like manner:

>>> entry = next(iter(q2.take(pages=1)))
>>> entry.topic
>>> entry.timestamp
datetime.datetime(2015, 1, 16, 15, 2, 5)
>>> entry['person']['nickname']

Most queries can support multiple values. You can either pass multiple values, like g.by_user('sross', 'someuser') or chain, like g.by_user('sross').by_user('someuser'). To get a query with a parameter reset, call reset(parameter_name), like g.reset('user').


  • by_user(*users): filter by FAS username
  • without_user(*users): inverse of by_user
  • by_package(*packages): filter by package name
  • without_package(*packages): inverse of by_package
  • by_category(*categories): filter by category (the third or fourth part of the topic)
  • without_category(*categories): inverse of by_category
  • by_topic(*topics): filter by topic
  • without_topic(*topics): inverse of by_topic
  • containing(substring): filter by keyword in the message
  • paginate(rows): set the number of rows per page
  • with_meta(*meta_type): return additional meta-information with the results
  • grouped (property): group similar results together
  • ascending (property): sort results in ascending order
  • descending (property): sort results in descending order
  • take(pages): only return results from the first pages pages
  • skip(pages): skip the first pages pages
  • starting_at(start): return results from after the given date/time
  • ending_at(end): return results from before the given date/time
  • delta_seconds(delta): modify start/end times by delta seconds

Data Properties

  • certificate: a string containing the certificate
  • signature: a string containing the signature
  • meta: a dict containing additional meta-information
  • index: the message index
  • timestamp: a datetime containing the timestamp for the object
  • topic: the topic of the message
Release History

Release History


This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
datanozzle-0.9.0.tgz (10.1 kB) Copy SHA256 Checksum SHA256 Source Jun 5, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting