# asana

> Asana

- **URL**: https://www.freshcrate.ai/projects/asana
- **Author**: Asana
- **Category**: Developer Tools
- **Latest version**: `5.2.4` (2026-04-21)
- **License**: MIT
- **Source**: http://github.com/asana/python-asana
- **Language**: Python
- **GitHub**: 333 stars, 108 forks
- **Registry**: pypi (`asana`)
- **Tags**: `asana`, `pypi`

## Description

# asana [![GitHub release][release-image]]() [![PyPi Version][pypi-image]][pypi-url]

- API version: 1.0
- Package version: 5.2.4

## Requirements.

Python 3.4+

## Installation & Usage
### pip install from [PyPI](https://pypi.org/project/asana/)

```sh
pip install asana
```

Then import the package:
```python
import asana 
```

### Setuptools

Install via [Setuptools](http://pypi.python.org/pypi/setuptools).

```sh
python setup.py install --user
```
(or `sudo python setup.py install` to install the package for all users)

Then import the package:
```python
import asana
```

## Getting Started

Please follow the [installation procedure](#installation--usage) and then run the following:

```python
import asana
from asana.rest import ApiException
from pprint import pprint

configuration = asana.Configuration()
configuration.access_token = '<YOUR_ACCESS_TOKEN>'
api_client = asana.ApiClient(configuration)

# create an instance of the API class
users_api_instance = asana.UsersApi(api_client)
user_gid = "me"
opts = {}

try:
    # Get a user
    user = users_api_instance.get_user(user_gid, opts)
    pprint(user)
except ApiException as e:
    print("Exception when calling UsersApi->get_user: %s\n" % e)
```

### Example: GET, POST, PUT, DELETE on tasks

#### GET - get multiple tasks
```python
import asana
from asana.rest import ApiException
from pprint import pprint

configuration = asana.Configuration()
configuration.access_token = '<YOUR_ACCESS_TOKEN>'
api_client = asana.ApiClient(configuration)

# create an instance of the API class
tasks_api_instance = asana.TasksApi(api_client)
opts = { 
    'limit': 50,
    'offset': "eyJ0eXAiOJiKV1iQLCJhbGciOiJIUzI1NiJ9",
    'assignee': "14641",
    'project': "321654",
    'section': "321654",
    'workspace': "321654",
    'completed_since': '2012-02-22T02:06:58.158Z',
    'modified_since': '2012-02-22T02:06:58.158Z',
    'opt_fields': "actual_time_minutes,approval_status,assignee,assignee.name,assignee_section,assignee_section.name,assignee_status,completed,completed_at,completed_by,completed_by.name,created_at,created_by,custom_fields,custom_fields.asana_created_field,custom_fields.created_by,custom_fields.created_by.name,custom_fields.currency_code,custom_fields.custom_label,custom_fields.custom_label_position,custom_fields.date_value,custom_fields.date_value.date,custom_fields.date_value.date_time,custom_fields.description,custom_fields.display_value,custom_fields.enabled,custom_fields.enum_options,custom_fields.enum_options.color,custom_fields.enum_options.enabled,custom_fields.enum_options.name,custom_fields.enum_value,custom_fields.enum_value.color,custom_fields.enum_value.enabled,custom_fields.enum_value.name,custom_fields.format,custom_fields.has_notifications_enabled,custom_fields.is_formula_field,custom_fields.is_global_to_workspace,custom_fields.is_value_read_only,custom_fields.multi_enum_values,custom_fields.multi_enum_values.color,custom_fields.multi_enum_values.enabled,custom_fields.multi_enum_values.name,custom_fields.name,custom_fields.number_value,custom_fields.people_value,custom_fields.people_value.name,custom_fields.precision,custom_fields.resource_subtype,custom_fields.text_value,custom_fields.type,dependencies,dependents,due_at,due_on,external,external.data,followers,followers.name,hearted,hearts,hearts.user,hearts.user.name,html_notes,is_rendered_as_separator,liked,likes,likes.user,likes.user.name,memberships,memberships.project,memberships.project.name,memberships.section,memberships.section.name,modified_at,name,notes,num_hearts,num_likes,num_subtasks,offset,parent,parent.created_by,parent.name,parent.resource_subtype,path,permalink_url,projects,projects.name,resource_subtype,start_at,start_on,tags,tags.name,uri,workspace,workspace.name"
}

try:
    # Get multiple tasks
    tasks = tasks_api_instance.get_tasks(opts)
    for task in tasks:
        pprint(task)
except ApiException as e:
    print("Exception when calling TasksApi->get_tasks: %s\n" % e)
```

#### POST - create a task
```python
import asana
from asana.rest import ApiException
from pprint import pprint

configuration = asana.Configuration()
configuration.access_token = '<YOUR_ACCESS_TOKEN>'
api_client = asana.ApiClient(configuration)

# create an instance of the API class
tasks_api_instance = asana.TasksApi(api_client)
body = {
    "data": {
        "name": "New Task",
        "projects": ["<YOUR_PROJECT_GID>"],
    }
}
opts = {}

try:
    # Create a task
    task = tasks_api_instance.create_task(body, opts)
    pprint(task)
except ApiException as e:
    print("Exception when calling TasksApi->create_task: %s\n" % e)
```

#### PUT - update a task
```python
import asana
from asana.rest import ApiException
from pprint import pprint

configuration = asana.Configuration()
configuration.access_token = '<YOUR_ACCESS_TOKEN>'
api_client = asana.ApiClient(configuration)

# create an instance of the API class
tasks_api_instance = asana.TasksApi(api_client)
body = {
    "data": {
        "name": "

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `5.2.4` | 2026-04-21 | Low | Imported from PyPI (5.2.4) |
| `v5.2.4` | 2026-04-02 | Medium | - Added time [tracking categories endpoints](https://forum.asana.com/t/new-categories-for-time-tracking-entries/1134291) |
| `v5.2.4` | 2026-04-02 | Medium | - Added time [tracking categories endpoints](https://forum.asana.com/t/new-categories-for-time-tracking-entries/1134291) |
| `v5.2.4` | 2026-04-02 | Medium | - Added time [tracking categories endpoints](https://forum.asana.com/t/new-categories-for-time-tracking-entries/1134291) |
| `v5.2.4` | 2026-04-02 | Medium | - Added time [tracking categories endpoints](https://forum.asana.com/t/new-categories-for-time-tracking-entries/1134291) |
| `v5.2.4` | 2026-04-02 | Medium | - Added time [tracking categories endpoints](https://forum.asana.com/t/new-categories-for-time-tracking-entries/1134291) |
| `v5.2.4` | 2026-04-02 | Medium | - Added time [tracking categories endpoints](https://forum.asana.com/t/new-categories-for-time-tracking-entries/1134291) |
| `v5.2.4` | 2026-04-02 | Medium | - Added time [tracking categories endpoints](https://forum.asana.com/t/new-categories-for-time-tracking-entries/1134291) |
| `v5.2.4` | 2026-04-02 | Medium | - Added time [tracking categories endpoints](https://forum.asana.com/t/new-categories-for-time-tracking-entries/1134291) |
| `v5.2.4` | 2026-04-02 | Medium | - Added time [tracking categories endpoints](https://forum.asana.com/t/new-categories-for-time-tracking-entries/1134291) |

## Dependency audit

- **Score**: 87/100
- **Total deps**: 6
- **Resolved**: 4
- **Unresolved**: 2
- **License conflicts**: 0
- **Warnings**: 3
- **Scanned**: 2026-05-25

## Citation

- HTML: https://www.freshcrate.ai/projects/asana
- Markdown: https://www.freshcrate.ai/projects/asana.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/asana/deps

_Generated by freshcrate.ai. Indexes pypi releases for AI-agent ecosystem packages._
