python成就框架

pychievements的Python项目详细描述


builddocscoverageDownloadsLicense

pychievements是在python应用程序中创建和跟踪成就的框架。 它包括专门用于创建命令行应用程序的功能,尽管它是灵活的。 足够用于任何应用程序,如web应用程序。

查看examples了解pychievements提供的功能。文件可在RTD中找到: http://pychievements.readthedocs.org/en/latest/

特点:

  • Create Achievements with any number of “goals” (based on levels) that can be reached
  • Flexible design makes it easy to customize the way levels are tracked
  • Easy to add new achievements later
  • Pluggable backend for storing tracked information in different formats to different locations
  • Achievements can be filtered by category or keywords
  • Easily specify “Icons” for individual goals within an achievement for dual states (achieved and unachieved)

示例

一个简单的成就。

class MyAchievement(Achievement):
    name = "My Achievement"
    category = "achievements"
    keywords = ("my", "achievement")
    goals = (
        {"level": 10, "name": "Level 1", "icon": icons.star, "description": "Level One"},
        {"level": 20, "name": "Level 2", "icon": icons.star, "description": "Level Two"},
        {"level": 30, "name": "Level 3", "icon": icons.star, "description": "Level Three"},
    )

为用户增加一个级别。

tracker.increment(user_id, MyAchievment)

基于参数重新计算用户的级别(需要定义evaluate函数 或者成就)。

tracker.evaluate(user_id, MyAchievement, some, extra, args)

检索成就。

tracker.achievements()                # retrieves all registered achievements in the tracker
tracker.achieved(uid, achievement)    # all achieved goals by uid for achievement
tracker.unachieved(uid, achievement)  # all unachieved goals by uid for achievement
tracker.current(uid, achievement)     # goal currently being worked torwards by uid

安装

要安装pychievements,只需:

$ pip install pychievements

许可证

PyChievements是在麻省理工学院的许可下获得许可的,请参见LICENSE

贡献

如果您想贡献,只需分叉the repository,提交您的更改 发送到master分支(或其分支),并发送一个拉取请求。制造 你一定要加入AUTHORS

路线图

  • 更多后端
  • 更多图标

历史记录

0.1.0(2014-08-31)

  • 初次发布!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java什么数据库最类似于Map,每个用户/id存储无限多个“键”和“值”?   java仅使用super pom进行测试   内存不足如何解析java。OutOfMemoryError:Java堆空间在增加堆大小的情况下将意味着延迟OutOfMemoryError   来自另一个类的mysql和java jdbc调用[运行时应用程序]   java通过下拉菜单更改搜索框搜索的内容   JAVAlang.ClassNotFoundException:sun。jdbc。odbc。JdbcOdbcDriver   java Selenium点击链接   JavaSpringHibernate:从唯一值列表中获取对象列表   java Bing广告与桌面身份验证问题   java如何在没有任何外部SDK的情况下从安卓打印到收据打印机?   未调用java菜单片段类   java在IDEA和PyCharm中同时为同一个项目工作   java我们如何为同一个异常提供不同的海关信息   jakarta ee中是否预定义了“请求”和“响应”变量或值?   java更好地解决“之前和之后”难题?   尝试将数据从Excel添加到Java   发送电子邮件的Java代码只适用于一个电子邮件id?   java如何从资产解析XML?