Skip to main content

dAEclipse CLI

PyPI PyPI - Downloads PyPI - License

daeclipse is a reverse-engineered Python library for DeviantArt Eclipse functionality.

This repo also contains a handy CLI to expose and test daeclipse capabilities.

poetry run daeclipse
Usage: cli.py [OPTIONS] COMMAND [ARGS]...

  DeviantArt Eclipse CLI

Options:
  --install-completion  Install completion for the current shell.
  --show-completion     Show completion for the current shell, to copy it or
                        customize the installation.

  --help                Show this message and exit.

Commands:
  add-art-to-groups  Submit DeviantArt deviation to groups.
  hot-tags           Return top tags on the hottest deviations.
  post-status        Post a DeviantArt status.
  show-tags          Return list of tags for given deviation.
  spammer            Return information and output for spam report helpdesk ticket creation.
  user-comments      Retrieve recent comments made by specified user.

Installation

The Python library is available via https://pypi.org/project/daeclipse/

pip install daeclipse

The CLI is only available by downloading / cloning the repo to your local machine:

git clone git@github.com:Pepper-Wood/daeclipse.git

Usage

import daeclipse

# Fetches a list of group names the user is a member of.
# You will need to be logged into DeviantArt and have a chrome page open.
eclipse = daeclipse.Eclipse()
groups, has_more, next_offset, total = eclipse.get_groups("Pepper-Wood", 0)
for group in groups:
    print(group.username)

Build Status and Checks

CICD is run thorugh GitHub Actions and makes the below checks on the two components of this repository:

Python Package OpenAPI Spec
Lint Python Linter Workflow Status OpenAPI Linter Workflow Status
Test Coming Soon... Coming soon...
Deploy PyPI Package Workflow Status GitHub Pages Workflow Status

Contributing

Contributions are always welcome, no matter how large or small! Before contributing, please read the code of conduct.

Contributor Covenant

If you have a feature request, run into a bug, or are unsure about anything, feel free to submit a GitHub issue.

If you are interested in creating a Pull Request, please read the guide on this repository's development process.

Commit titles on the main branch follow the emoji-commit-messages naming convention.

Caveats / Disclaimer

DeviantArt's history as a website is storied. Prior to the release of Eclipse, there were two options with creating tooling around its UI:

  • The Public DeviantArt API. See accompanying Python wrapper. The API is relatively easy to use - and utilizes OAuth2 for authentication - but its endpoints and functionality are sparce. It also was not updated for some time but now appears to be getting a handful of new endpoints based on the changelog.
  • The internal DeviantArt Interactive Fragment Interface (DiFi). DiFi has a wide range of functionality but is volatile/unreliable and difficult to use - especially compared to modern APIs.

On October 2019, DeviantArt announced DeviantArt Eclipse, a new UI (mostly) built in React. There are still a handful of pages on the website that expose the old website (i.e. https://www.deviantart.com/groups/) where functionality hasn't been completely ported. But with the new React UI, DeviantArt brought along a third option for tooling:

  • The internal DeviantArt NAPI, currently undocumented. The structure of its endpoints resembles RESTful practices, and authentication is done through scraping a CSRF token on the website or using a user's stored .deviantart.com cookies.

The implementation in this library relies on the DeviantArt NAPI. As such, functionality may break without warning depending on whether the internal DeviantArt team makes changes to these endpoints.

Metadata

Release files for daeclipse-cli 0.0.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 daeclipse-cli 0.0.1
File Size Uploaded Provenance Actions
daeclipse-cli-0.0.1.tar.gz 11.9 kB Without provenance Details for daeclipse-cli-0.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for daeclipse-cli 0.0.1
File Interpreter ABI Platform Actions
daeclipse_cli-0.0.1-py3-none-any.whl Python 3 none any Details for daeclipse_cli-0.0.1-py3-none-any.whl

Total release size: 24.3 kB

Release files / daeclipse-cli-0.0.1.tar.gz

Download URL daeclipse-cli-0.0.1.tar.gz
Size 11.9 kB
Tags Source
SHA-256 checksum
How to use checksums
7273037846bd50c9992787ffc6fce1524872f8afb9c9fc241f84aa2e45bb5749
BLAKE2b-256 checksum
How to use checksums
54c9b69807118bc0fc8178b729a9f6c41411f74c8becd011719936337f45cdb0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.7 CPython/3.8.2 Linux/5.8.0-1039-azure

Release files / daeclipse_cli-0.0.1-py3-none-any.whl

Download URL daeclipse_cli-0.0.1-py3-none-any.whl
Size 12.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a72d49194aebe94ff9c61f3336a4060d6514f2a48245cc03cd6713b9b5f2107b
BLAKE2b-256 checksum
How to use checksums
e40dc22dec562560e81846ffd36256979526b87e317607e7516524c02c6b7919
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.7 CPython/3.8.2 Linux/5.8.0-1039-azure

Security for daeclipse-cli 0.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files No provenance

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