Skip to main content

A no-compromises wrapper for the CurseForge API

Project description

Curseforge API

This is a no-compromise CurseForge API wrapper for python. It is a re-write of cursepy which is maintained but not actively developed.

This project is a complete re-write of the original project, with a focus on simplicity and ease of use.

This project is still in development, and is not yet ready for production use.

It also speeds up the process by using disk caching, It will cache the response from the API and will only make a new request if the request is not cached.

This, of course can be disabled by setting the cache to False.

Features

  • Simple and easy to use

  • Caches responses from the API to disk for faster response times

  • Allows direct access to the API via the fetch method

  • Allows exporting of the objects to DICT, JSON, or YAML

  • Can directly parse a manifest file from a curseforge modpack

Installation

pip install curseforge

Usage

from curseforge import CurseClient



client = CurseClient("API-KEY", cache=True)



minecraft = client.game(432) # 432 is the ID of Minecraft



# or we can list all the games

games = client.games()



for game in games:

    print(game.name)



# The search is up to the user to implement, this is just a wrapper



# We can also get the latest files for a project



JourneyMap = client.mod(2238) # 2238 is the ID of JourneyMap



for file in JourneyMap.files:

    print(file.name)

TODO

  • Implement the export methods

  • Implement the cache

  • Implement the fetch method

  • Deal with the download URL being a null value

  • Implement the search method

  • Wrap the ENTIRE API

  • Rename the classes so they have a Curse prefix

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT

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

curseforge-1.6.0.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

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

curseforge-1.6.0-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file curseforge-1.6.0.tar.gz.

File metadata

  • Download URL: curseforge-1.6.0.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for curseforge-1.6.0.tar.gz
Algorithm Hash digest
SHA256 f1f376a86a8dbdc6b4d87167e45f4b5333fddc69748f8e1fddc6ad2de3bf0a67
MD5 be62572107a926aafb4d48edbae69823
BLAKE2b-256 14ddf3044503e26d7852e4021a75fd36c92612d2e57a84408a6b2cb1d949d4fc

See more details on using hashes here.

File details

Details for the file curseforge-1.6.0-py3-none-any.whl.

File metadata

  • Download URL: curseforge-1.6.0-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for curseforge-1.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9e11c649875fddcf270e0e1cdf07f0649632bba05c896b7f103148a723019a1c
MD5 9e1201b4ee8375732e6e743d95438721
BLAKE2b-256 150bb64b38ea6a10be24b6e5055458a524c9e6ab1989f9c0062c537baa1e4307

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