Pythonic, modular, CurseForge API
Reason this release was yanked:
Had old project name
Project description
capy
A modular API for interacting with CurseForge.
Disclaimer
capy is a work in progress!
Use this library at your own risk! We will be complete with docs soon.
Introduction
CurseForge Api Python(or capy for short) allows you to interact with CurseForge addons and files in a simply, easy to use way.
Our goal is to be modular and heavily customizable for developers who have very specific use cases, while also being simple and intuitive for developers who want something that 'just works'.
We support getting information on all games, addons, categories, files, and so much more! We also offer easy to use methods for downloading said files.
Example
from capy import CurseClient # Import the CurseClient
GAME_ID = 432 # ID of the game you want to fetch, in this case Minecraft
# Create the CurseClient:
curse = CurseClient()
# Get the game info:
game = curse.game(GAME_ID)
# Print the name of the game:
print(game.name)
Features
Here, we will give brief examples of capy features. For more information, you should check out our documentation!
Modular Design
Each operation is managed by a component called a 'handler'. Handlers are simply classes that get information and process it. This information can be from any location, and it can be retrieved in many different ways.
The only limit is your imagination!
Our modular method allows for functionality to be swapped and mixed around, allowing for automated and easier customization compared to sub-classing.
Have a look at the documentation on handler development here!
Curse Instances
As stated earlier, curse data can come from any location, which can be retired in many different ways. Because of this, the developer would have to check and work with data in many different formats and in many different makeups.
Not ideal!
capy offers curse instances that normalize data, and offer a container for data to be kept in. This ensures that no matter what, the developer will be working with data in the same way, regardless of how or where we got the data from.
Curse Instances have plenty of other nifty features for easing your development, so be sure to check out their documentation!
Wrappers
Wrappers ease the process of interacting with certain games and projects on CurseForge. They do this by keeping track of relevant information, such as game and category ID's, so you as the developer do not have to.
For example, the 'MinecraftWrapper' eases the process of getting information on Minecraft projects and addons. We hope to implement more wrappers for more games at a later date.
Again, have a look at our documentation for more info!
Installation
You can install capy via pip:
$ pip install mctools
For more information on installing capy, check out the installation section in our documentation.
Documentation
As stated many times before, we have an extensive documentation. It contains tutorials, the API reference, and best practice recommendations.
I'm sure you know this already, but the documentation can be found here:
https://capy.readthedocs.io/en/latest/index.html
Be sure to check out the capy PyPi page for more information
Contributing
Pull requests are welcome and encouraged :) ! If you want to see a feature in capy, or have a fix for a bug you came across, then a PR will be the fastest way to to get you change included in capy.
I also accept comments and feedback at my email address listed under my GitHub account.
Changelog
1.0.0
Initial Commit
Special Thanks
Sir Quinn - Documentation work
Conclusion
capy offers a pythonic, intuitive way to interact with CurseForge projects! We offer high levels of customizability, while at the same time being easy to use.
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.