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


Decorator that allows you to specify the valid types of the parameters in a function or method.

In case of that a call don’t match the required type will fail with a TypeError exception.


There are some cases (TODO: add some examples) where you want/need to specify a specific type to use and since python does not have type checks for parameters here’s where this is useful.

All the existing solutions that I’ve found had some problem or does not have a feature that I’d like to have, so I’ve made my own.

How to use?

First, install the RequireType package, you can do that using pip::
pip install requiretype

In your code you just need to import and use the require decorator.


from requiretype import require

@require(name=str, age=(int, float, long))
def greet_person(name, age):
    print "Hello {0} ({1})".format(name, age)

>>> greet_person("John", 42)
Hello John (42)

>>> greet_person("John", "Doe")
TypeError: Doe is not a valid type.
Valid types: <type 'int'>, <type 'float'>, <type 'long'>

>>> greet_person(42, 43)
TypeError: 42 is not a <type 'str'> type

Some notes

Here are some details about this library. Most of them was found in one or more packages that helps you to enforce/check/require types and IMO are not good things to have and motivated me to write this.


  • does not modify args or kwargs
  • does not move arguments from one place to another
  • support both args and kwargs
  • allows you to use all the python 2.x supported parameters usage (if not, please report a bug)
  • use named arguments type definition
  • allows you to enforce a subset of all the available arguments
  • raise a standard TypeError if the arguments type are wrong
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
RequireType-0.1.0.tar.gz (3.4 kB) Copy SHA256 Checksum SHA256 Source Sep 28, 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