Skip to main content
# Unofficial Udacity API (for Python)

**by Ty-Lucas Kelley**

![build-status](https://travis-ci.org/tylucaskelley/udacity-api-python.svg?branch=master)
![version](https://pypip.in/version/udacity/badge.svg)
![downloads](https://pypip.in/download/udacity/badge.svg)

---

## ## ##### #### ##### ###### ###### ## ##
## ## ## # ## ## ## ## ## ## ##
## ## ## # ###### ## ## ## ####
## ## ## # ## ## ## ## ## ##
#### ##### ## ## ##### ###### ## ##

This is an unofficial client library for interacting with Udacity courses and users.
It is made up of two parts:

* [Catalog](#catalog)
* A wrapper for Udacity's public [Catalog API](http://udacity.com/public-api/v0/courses)
* [User](#user)
* Log into your Udacity account, see user info, and check course progress

### Warning

Note that this is not an official Udacity product. They are allowed to change their internal
API at any time, and I will try my best to make sure this library gets updated as well.

In the end, be sure to use this only for personal purposes, not any serious application with
a lot of users.

### Installation

It's on pip! Install it from the terminal, with Python 2 or 3:

$ pip install udacity

You can then include it in your application:

import udacity

### User

The `User` class is used to view a user's account info and see their progress in courses.
It includes a lot of convenience functions.

Run `pydoc udacity.User` for information about each method and what it returns.

Example usage:

```py
import udacity

user = udacity.User('email@example.com', 'password123')
name = user.name()

# print out quiz completion rate in each course
for course in user.enrollments():
prog = user.progress(course)
print('Course: ' + prog['title'])
print('\t' + str(prog['quizzes_completed']) + '/'
+ str(prog['quiz_count']) + ' quizzes completed')
```

### Catalog

The `Catalog` class can be used to filter data from Udacity's Catalog API. It has
plenty of convenience functions.

Run `pydoc udacity.Catalog` for information about each method and what it returns.

Example usage:

```py
import udacity

c = udacity.Catalog()

tracks = c.tracks()

track_names = [t['name'] for t in tracks]
web_dev_teachers = c.instructors('cs253')
nd001_description = c.degree('nd001')['expected_learning']
```

Metadata

Release files for udacity 1.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for udacity 1.1.1
File Size Uploaded
udacity-1.1.1.tar.gz 5.8 kB Details

Release files / udacity-1.1.1.tar.gz

Download URL udacity-1.1.1.tar.gz
Size 5.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a35fdc221e54a07e6ea063ac1c901273c9a019115c5ec5d331e33deaeeb66af9
BLAKE2b-256 checksum
How to use checksums
9b57bb257a53742d0d8e5e76a8f523178fcd3d4718ebf3fcb6a73fd335917b77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.1.1 This release

1 release file

1.1.0

1 release file

1.0.1

1 release file

1.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page