Metadata-Version: 2.1
Name: baseport
Version: 0.1.1
Summary: Export Basecamp 3 To-Dos into a CSV.
Home-page: https://github.com/nategadzhi/baseport
License: Apache-2.0
Author: Nate Gadzhi
Author-email: nate@respawn.io
Requires-Python: >=3.8,<4.0
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: basecampy3 (>=0.4.0,<0.5.0)
Requires-Dist: click (>=8.0.1,<9.0.0)
Requires-Dist: html2text (>=2020.1.16,<2021.0.0)
Project-URL: Repository, https://github.com/nategadzhi/baseport
Description-Content-Type: text/markdown

# Baseport

Baseport is a small CLI tool to export your Basecamp to-dos into a CSV file. We
considered migrating to Jira, and I needed a way to pull all our Basecamp to-dos
into it, so I've written a quick script and thought I'd share it.

## Install

`pip install baseport`

## Usage

```
$ baseport --help
Usage: baseport [OPTIONS] COMMAND [ARGS]...

  Baseport exports Basecamp 3 to-do lists to CSVs.

Options:
  --help  Show this message and exit.

Commands:
  projects  Project operations
  todos     To-Do lists operations

$ baseport todos --help
Usage: baseport todos [OPTIONS] COMMAND [ARGS]...

  To-Do lists operations

Options:
  --help  Show this message and exit.

Commands:
  export  Export all todos in one or all lists into a CSV file
  ls      List all available to-do lists in a project
  show    List all todos in one or all lists in a project

```

To export all of the to-dos in a single project, you'll use something like this:

```
baseport todos export -p PROJECT_ID -o todos.csv
```

### Authentication

Baseport uses [`basecampy3`](https://github.com/phistrom/basecampy3) to talk to
Basecamp API. You'll need a `.conf` file with your OAuth app client_id and
secret, and OAuth token. Luckily, you can just run `bc3 configure` and it'll
guide you through the setup proces.

### Formatting and cleaning your CSV

We needed to do a bit of a company-specific cleanup (given that I needed to
import to-dos to Jira, and clean up our email addresses), so Baseport has
formatter support. You can implement your own formatter and add it to
`_format_todos()` function, and then just pass it in the terminal with
`--formatter` option.

## Contributing

Feel free to open a PR with additional formatters or documentation on how to use
`baseport` for other platform-specific exports.

If you found an issue, please do file it on this repo. I'll do my best to help
you out.

Baseport is not going to be actively maintained or developed, it's a one-off
quick tool I needed for myself, and it did it's job.

