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
- Install from package
pip install apsbot --upgrade
- Install from source code
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
- Setting path configuration
apsbot [OPTIONS] COMMAND [ARGS]...
- Without setting path configuration
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.
... and more!
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
Revit Categories
Revit Categories-Parameters
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
Disclaimer
This is project just play for fun with free time weekend. Please use it at your own risk. I am not responsible for any damage caused by this project.
Many thanks
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file apsbot-0.1.4.tar.gz.
File metadata
- Download URL: apsbot-0.1.4.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34ec2bcbdb65b63d79fa4b8d32e1bedafcf29dd3ae4a0697d3d781debf0a958c
|
|
| MD5 |
0a933a73ab7868edc4dcaeba8e7ca8d4
|
|
| BLAKE2b-256 |
f2d41e14314342584b59279bd432f7e520efe00b50b9aa34de054b33040d64ba
|
File details
Details for the file apsbot-0.1.4-py3-none-any.whl.
File metadata
- Download URL: apsbot-0.1.4-py3-none-any.whl
- Upload date:
- Size: 9.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4db1939c7a6ecb497b713710488ff9c196cc142b5ce2642ea437ea638cddfd27
|
|
| MD5 |
a14fec4a273f72ac8e14e4140f295550
|
|
| BLAKE2b-256 |
31106ab4662f55724da70189d07674108a86cff250eed3be8c99c9782994993d
|