Skip to main content

A simple CLI tool to interact with the Autodesk Forge API.

Project description

APSBot: Autodesk Platform Services CLI

Welcome to the CLI tool apsbot, designed to interact seamlessly with the Autodesk Platform Services (formerly Autodesk Forge) API. This tool provides a command-line interface to access and manage data across various Autodesk services.

Installation

Before you can use apsbot, you need to install it. Clone the repository and install it using pip:

pip install git+https://github.com/chuongmep/aps-bot.git

Requirements

Setup environment variables

APS_CLIENT_ID = "your_client_id"
APS_CLIENT_SECRET = "your_client_secret"

Usage

python -m apsbot [OPTIONS] COMMAND [ARGS]...

--help: Show the help message and exit.

Commands

  • auth2leg: Authenticates using 2-legged OAuth with Autodesk services. This command handles the authentication process without user interaction and is suitable for server-to-server communication.
  • auth3leg: Authenticates using 3-legged OAuth with Autodesk services. This command is used when user consent is required, typically for applications that need to access user-specific data.
  • data-revit-by-categories: Read Revit data by categories. This command allows you to specify categories to filter the data that you retrieve from Revit files.
  • data-revit-by-cats-params: Read Revit data by categories and parameters. Use this command to fetch Revit data based on both category and parameter filters, providing more granular control.
  • data-revit-categories: Read all categories from a specified URN. This command fetches all available categories from a Revit model identified by its URN.
  • data-revit-parameters: Read all parameters from a specified URN. Similar to the categories command but focused on retrieving all parameters associated with a Revit model.
  • hubs: Lists all hubs associated with the Autodesk account. This command is useful for managing multiple projects or collaborations across Autodesk services.
  • item-versions: Retrieves batch information on all item versions. This command provides historical version data for items managed within Autodesk services.
  • items: Retrieves batch information on all items based on general information criteria. Use this command to get a broad overview of items within a project or hub.
  • login: Logs into Autodesk services using configured credentials. Essential for initiating sessions and managing authentication states.
  • projects: Retrieves batch information on all projects. This command offers insights into all projects managed under the user's Autodesk account.
  • refresh-token: Refreshes the OAuth access token used for authentication. Vital for maintaining access without requiring a full re-authentication process.
  • set-folder: Sets the default folder for operations that require a folder context. This simplifies subsequent commands by using the set folder as a context.
  • show-ports: Displays all network ports currently in use on the system. Useful for troubleshooting network issues or conflicts within the application environment.
  • top-folders: Retrieves batch information on all top folders in a project. Helps in navigating the project's directory structure and managing data more effectively.

Examples

Authenticate using 2-legged OAuth

python -m apsbot auth2leg

Retrieve Revit data by categories

python -m apsbot data-revit-by-categories --urn "your_urn_here"

List all projects

python -m apsbot projects

  • Start a cli to see all available commands
python -m apsbot

Example :

Get hubs list

python -m apsbot hubs

Get Projects

python -m apsbot projects

Get top folder

python -m apsbot get-top-folder --hub_id <hubid> --project_id <projectid>

item-versions

Developer Collaboration

Build package with setuptools

python setup.py sdist bdist_wheel

Update new version package

python setup.py sdist bdist_wheel
python -m twine check dist/*
python -m twine upload dist/*

Quick Testing

pip install --editable . --user

Many thanks

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

apsbot-0.1.2.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

apsbot-0.1.2-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file apsbot-0.1.2.tar.gz.

File metadata

  • Download URL: apsbot-0.1.2.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.7

File hashes

Hashes for apsbot-0.1.2.tar.gz
Algorithm Hash digest
SHA256 e9887da5214ab5a324911ad9716dd8499f0c23747d1142cc9c82c24bae73581b
MD5 248a31eb6e83f387b3ec45d320e984e4
BLAKE2b-256 187d434229e021f529c35f83c1c426902e49df30c334eb59eefd082abce8cc22

See more details on using hashes here.

File details

Details for the file apsbot-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: apsbot-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.7

File hashes

Hashes for apsbot-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6179e7725dae3ed9a94db51ba552a41ea3f8c80792ccec54e60252a54e1587a3
MD5 542a71b06aaccc645b99831c2ce5e69b
BLAKE2b-256 fed014c116788cfc485fd2343385f2064b1cfd1b5459c6b7bede8224fcb08328

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page