Coder Social home page Coder Social logo

actidoo / gamification-engine Goto Github PK

View Code? Open in Web Editor NEW
424.0 38.0 108.0 6.94 MB

gamification-engine (gengine) is a framework for developing gamification features for your application

License: MIT License

Python 79.95% HTML 2.89% JavaScript 14.43% CSS 0.71% Mako 0.10% Dockerfile 0.12% Shell 1.26% SCSS 0.53%
gamification gamification-engine gamification-platform gamification-framework python engine rules-engine

gamification-engine's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gamification-engine's Issues

Errors trying to increase_value of a variable for a user

I created a user id 10 and a variable gold and I am trying to add a value to it from the api and getting the following error

ProgrammingError: (psycopg2.ProgrammingError) function concat(unknown, character varying, unknown) does not exist
LINE 3: WHERE goals.condition ILIKE concat(E'%"', variables.name, E'...
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
[SQL: 'SELECT goals.id, goals.name, goals.name_translation_id, goals.condition, goals.evaluation, goals.timespan, goals.group_by_key, goals.group_by_dateformat, goals.goal, goals.operator, goals.maxmin, goals.achievement_id, goals.priority, variables.id AS variable_id \nFROM goals, variables \nWHERE goals.condition ILIKE concat(%(param_1)s, variables.name, %(param_2)s) OR goals.condition ILIKE concat(%(param_3)s, variables.name, %(param_4)s)'] [parameters: {'param_4': "'%", 'param_1': '%"', 'param_3': "%'", 'param_2': '"%'}]

Replace argon2 with argon2_cffi

The replacement is a better supported library which also includes salt generation (crypt.mksalt is too short for argon2).

Add further deployment methods

For an even easier start with the gamification engine, we want to support further deployment methods for frequently used environments (next to dokku/heroku).

At the moment, I am thinking about Microsoft Azure, Docker (without dokku) and perhaps vagrant. Are there any other environments we should consider at the moment?

Errors on fresh installation with demo data populated

Response on progress API call with user id 1:

{"achievements": {}, "achievement_errors": {"1": {"id": 1, "error": "Traceback (most recent call last):\n File "/home/fantaus/Documents/cg/gengine/views.py", line 92, in ea\n return Achievement.evaluate(user, achievement["id"])\n File "/home/fantaus/Documents/cg/gengine/models.py", line 763, in evaluate\n return cache_achievement_eval.get_or_create("%s_%s" % (user["id"],achievement_id),generate)\n File "/usr/local/lib/python2.7/dist-packages/dogpile.cache-0.5.7-py2.7.egg/dogpile/cache/region.py", line 657, in get_or_create\n async_creator) as value:\n File "/usr/local/lib/python2.7/dist-packages/dogpile.core-0.4.1-py2.7.egg/dogpile/core/dogpile.py", line 158, in enter\n return self._enter()\n File "/usr/local/lib/python2.7/dist-packages/dogpile.core-0.4.1-py2.7.egg/dogpile/core/dogpile.py", line 98, in _enter\n generated = self._enter_create(createdtime)\n File "/usr/local/lib/python2.7/dist-packages/dogpile.core-0.4.1-py2.7.egg/dogpile/core/dogpile.py", line 149, in _enter_create\n created = self.creator()\n File "/usr/local/lib/python2.7/dist-packages/dogpile.cache-0.5.7-py2.7.egg/dogpile/cache/region.py", line 625, in gen_value\n created_value = creator()\n File "/home/fantaus/Documents/cg/gengine/models.py", line 682, in generate\n Goal.evaluate(goal, user_id, user_wants_level,None)\n File "/home/fantaus/Documents/cg/gengine/models.py", line 1002, in evaluate\n users_progress = Goal.compute_progress(goal,user_id)\n File "/home/fantaus/Documents/cg/gengine/models.py", line 993, in compute_progress\n q = cache_goal_statements.get_or_create(str(goal["id"]),generate_statement_cache)\n File "/usr/local/lib/python2.7/dist-packages/dogpile.cache-0.5.7-py2.7.egg/dogpile/cache/region.py", line 657, in get_or_create\n async_creator) as value:\n File "/usr/local/lib/python2.7/dist-packages/dogpile.core-0.4.1-py2.7.egg/dogpile/core/dogpile.py", line 158, in enter\n return self._enter()\n File "/usr/local/lib/python2.7/dist-packages/dogpile.core-0.4.1-py2.7.egg/dogpile/core/dogpile.py", line 98, in _enter\n generated = self._enter_create(createdtime)\n File "/usr/local/lib/python2.7/dist-packages/dogpile.core-0.4.1-py2.7.egg/dogpile/core/dogpile.py", line 149, in enter_create\n created = self.creator()\n File "/usr/local/lib/python2.7/dist-packages/dogpile.cache-0.5.7-py2.7.egg/dogpile/cache/region.py", line 630, in gen_value\n self.backend.set(key, value)\n File "/usr/local/lib/python2.7/dist-packages/dogpile.cache-0.5.7-py2.7.egg/dogpile/cache/backends/file.py", line 239, in set\n compat.pickle.HIGHEST_PROTOCOL)\nPicklingError: Can't pickle <type 'function'>: attribute lookup builtin.function failed\n"}, "2": {"id": 2, "error": "Traceback (most recent call last):\n File "/home/fantaus/Documents/cg/gengine/views.py", line 92, in ea\n return Achievement.evaluate(user, achievement["id"])\n File "/home/fantaus/Documents/cg/gengine/models.py", line 763, in evaluate\n return cache_achievement_eval.get_or_create("%s%s" % (user["id"],achievement_id),generate)\n File "/usr/local/lib/python2.7/dist-packages/dogpile.cache-0.5.7-py2.7.egg/dogpile/cache/region.py", line 657, in get_or_create\n async_creator) as value:\n File "/usr/local/lib/python2.7/dist-packages/dogpile.core-0.4.1-py2.7.egg/dogpile/core/dogpile.py", line 158, in enter\n return self._enter()\n File "/usr/local/lib/python2.7/dist-packages/dogpile.core-0.4.1-py2.7.egg/dogpile/core/dogpile.py", line 98, in _enter\n generated = self._enter_create(createdtime)\n File "/usr/local/lib/python2.7/dist-packages/dogpile.core-0.4.1-py2.7.egg/dogpile/core/dogpile.py", line 149, in _enter_create\n created = self.creator()\n File "/usr/local/lib/python2.7/dist-packages/dogpile.cache-0.5.7-py2.7.egg/dogpile/cache/region.py", line 625, in gen_value\n created_value = creator()\n File "/home/fantaus/Documents/cg/gengine/models.py", line 682, in generate\n Goal.evaluate(goal, user_id, user_wants_level,None)\n File "/home/fantaus/Documents/cg/gengine/models.py", line 1002, in evaluate\n users_progress = Goal.compute_progress(goal,user_id)\n File "/home/fantaus/Documents/cg/gengine/models.py", line 993, in compute_progress\n q = cache_goal_statements.get_or_create(str(goal["id"]),generate_statement_cache)\n File "/usr/local/lib/python2.7/dist-packages/dogpile.cache-0.5.7-py2.7.egg/dogpile/cache/region.py", line 657, in get_or_create\n async_creator) as value:\n File "/usr/local/lib/python2.7/dist-packages/dogpile.core-0.4.1-py2.7.egg/dogpile/core/dogpile.py", line 158, in enter\n return self._enter()\n File "/usr/local/lib/python2.7/dist-packages/dogpile.core-0.4.1-py2.7.egg/dogpile/core/dogpile.py", line 98, in _enter\n generated = self._enter_create(createdtime)\n File "/usr/local/lib/python2.7/dist-packages/dogpile.core-0.4.1-py2.7.egg/dogpile/core/dogpile.py", line 149, in _enter_create\n created = self.creator()\n File "/usr/local/lib/python2.7/dist-packages/dogpile.cache-0.5.7-py2.7.egg/dogpile/cache/region.py", line 630, in gen_value\n self.backend.set(key, value)\n File "/usr/local/lib/python2.7/dist-packages/dogpile.cache-0.5.7-py2.7.egg/dogpile/cache/backends/file.py", line 239, in set\n compat.pickle.HIGHEST_PROTOCOL)\nPicklingError: Can't pickle <type 'function'>: attribute lookup builtin.function failed\n"}}}

error with " gengine_quickstart myengine"

Hi, all:
I got the following error when executing the line " gengine_quickstart myengine" in the installation instruction:

$ gengine_quickstart myengine
Error: [Errno 2] No such file or directory: '/usr/local/lib/python2.7/site-packages/quickstart_template'

Any suggestions?

Update ERM

There is currently a script to do this. We should consider to replace eralchemy by sadisplay, as it can work on the sa models and does not have to work on an actual database.

Calculating overall experience of a user on the platform

Can someone please explain how to configure/calculate the overall experience of the user on the platform?. Is it simply the summation of values (in values table) for that user?

Documentation says achievement properties can be used to calculate the XP. I want to increase_value for every activity that user performs in my application. Every time I increase_value for an activity, it may not satisfy the goal condition. But, achievement properties are evaluated only when goal conditions are met.
Please suggest.

Can add self as friend

After already created a user and trying to update him, himself is prompted to be added as a friend through the admin interface.

Language AttributeError during deployment

Hi, first of all Thanks for your hard work, and sharing your framework.

I'm trying to deploy the server and I'm having some errors. I hope you can give me some clues about what can be happening. Thanks in advance.

First i had to run:

alembic init

Then I've configured the database user and psw in production.ini, then I've run

initialize_gengine_db ./production.ini ./alembic.ini

After that I tried to run the server with

pserve production.ini

I got this error:
/deploy/venv-gamification/local/lib/python2.7/site-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.admin.contrib.sqla is deprecated, use flask_admin.contrib.sqla instead.
.format(x=modname), ExtDeprecationWarning
Traceback (most recent call last):
File "/deploy/venv-gamification/bin/pserve", line 11, in
sys.exit(main())
File "/deploy/venv-gamification/local/lib/python2.7/site-packages/pyramid/scripts/pserve.py", line 60, in main
return command.run()
File "/deploy/venv-gamification/local/lib/python2.7/site-packages/pyramid/scripts/pserve.py", line 371, in run
global_conf=vars)
File "/deploy/venv-gamification/local/lib/python2.7/site-packages/pyramid/scripts/pserve.py", line 406, in loadapp
return loadapp(app_spec, name=name, relative_to=relative_to, *_kw)
File "/deploy/venv-gamification/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
return loadobj(APP, uri, name=name, *_kw)
File "/deploy/venv-gamification/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 272, in loadobj
return context.create()
File "/deploy/venv-gamification/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
return self.object_type.invoke(self)
File "/deploy/venv-gamification/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 146, in invoke
return fix_call(context.object, context.global_conf, *_context.local_conf)
File "/deploy/venv-gamification/local/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call
val = callable(_args, *_kw)
File "/deploy/venv-gamification/local/lib/python2.7/site-packages/gengine/init.py", line 63, in main
secret=settings.get("flaskadmin_secret","fKY7kJ2xSrbPC5yieEjV"))
File "/deploy/venv-gamification/local/lib/python2.7/site-packages/gengine/flaskadmin.py", line 81, in init_flaskadmin
admin.add_view(ModelViewTranslationVariable(DBSession, category="Rules"))
File "/deploy/venv-gamification/local/lib/python2.7/site-packages/gengine/flaskadmin.py", line 106, in init
super(ModelViewTranslationVariable, self).init(TranslationVariable, session, *_kwargs)
File "/deploy/venv-gamification/local/lib/python2.7/site-packages/flask_admin/contrib/sqla/view.py", line 318, in init
menu_icon_value=menu_icon_value)
File "/deploy/venv-gamification/local/lib/python2.7/site-packages/flask_admin/model/base.py", line 771, in init
self._refresh_cache()
File "/deploy/venv-gamification/local/lib/python2.7/site-packages/flask_admin/model/base.py", line 861, in _refresh_cache
self._refresh_forms_cache()
File "/deploy/venv-gamification/local/lib/python2.7/site-packages/flask_admin/model/base.py", line 788, in _refresh_forms_cache
self._create_form_class = self.get_create_form()
File "/deploy/venv-gamification/local/lib/python2.7/site-packages/flask_admin/model/base.py", line 1220, in get_create_form
return self.get_form()
File "/deploy/venv-gamification/local/lib/python2.7/site-packages/flask_admin/model/base.py", line 1177, in get_form
return self.scaffold_form()
File "/deploy/venv-gamification/local/lib/python2.7/site-packages/flask_admin/contrib/sqla/view.py", line 670, in scaffold_form
form_class = self.scaffold_inline_form_models(form_class)
File "/deploy/venv-gamification/local/lib/python2.7/site-packages/flask_admin/contrib/sqla/view.py", line 706, in scaffold_inline_form_models
form_class = inline_converter.contribute(self.model, form_class, m)
File "/deploy/venv-gamification/local/lib/python2.7/site-packages/flask_admin/contrib/sqla/form.py", line 610, in contribute
extra_fields=info.form_extra_fields)
File "/deploy/venv-gamification/local/lib/python2.7/site-packages/flask_admin/contrib/sqla/form.py", line 436, in get_form
for name, p in properties:
File "/deploy/venv-gamification/local/lib/python2.7/site-packages/flask_admin/contrib/sqla/form.py", line 431, in
properties = (find(x) for x in only)
File "/deploy/venv-gamification/local/lib/python2.7/site-packages/flask_admin/contrib/sqla/form.py", line 417, in find
column, path = get_field_with_path(model, name)
File "/deploy/venv-gamification/local/lib/python2.7/site-packages/flask_admin/contrib/sqla/tools.py", line 150, in get_field_with_path
table = current_model.table
AttributeError: type object 'Language' has no attribute 'table'

Issue during db initialize

I am getting below error on running command
---> 'initialize_gengine_db development.ini reset_db=True populate_demo=True'

TypeError: init() got an unexpected keyword argument 'Precision'

Kindly assist

Timezone-Aware Leaderboards

In many use-cases we want Leaderboards to be recurrent (evaluated daily / monthly).
This is trivial when all users have the same timezone, but how do we want to handle it, when the users have different timezones?

Currently this is handled by having seperate leaderboards for each timezone. The achievement_date contains a timezone-aware datetime, that points to the beginning of the current period. (see get_datetime_for_evaluation_type).

The case to have global recurring leaderboards is currently not handled correctly. We should add an option to fix the timezone for the generation of the periods.

Keeping configuration through admin interface under version control

Hi,

I'm evaluating gamification-engine for an open source project and it looks very much like what I need. I wonder, however, whether there is a way of keeping the whole configuration you create through the admin interface under version control. Is it possible to export and import the configuration? I know that I could create a database dump, but I would prefer a cleaner option.

pip install gamification-engine failing

Hi,
I'm using macbook pro (Monterey) + Python 3.9 (virtualenv). when I try to pip install gamification-engine, it throws following error -

`(game_engine) admin@Utkarsh gamification-engine-0.4.0 % pip install gamification-engine
Collecting gamification-engine
Using cached gamification_engine-0.4.0-py3-none-any.whl
Requirement already satisfied: pyramid-dogpile-cache in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from gamification-engine) (0.0.4)
Requirement already satisfied: jsl in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from gamification-engine) (0.2.4)
Collecting alembic
Using cached alembic-1.7.6-py3-none-any.whl (210 kB)
Requirement already satisfied: pyramid-chameleon in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from gamification-engine) (0.3)
Requirement already satisfied: psycopg2 in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from gamification-engine) (2.9.3)
Requirement already satisfied: Flask>=0.10.1 in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from gamification-engine) (2.0.3)
Requirement already satisfied: transaction in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from gamification-engine) (3.0.1)
Requirement already satisfied: pymemcache in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from gamification-engine) (3.5.1)
Requirement already satisfied: dogpile.cache in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from gamification-engine) (1.1.5)
Requirement already satisfied: pyramid-debugtoolbar in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from gamification-engine) (4.9)
Requirement already satisfied: flask-admin in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from gamification-engine) (1.6.0)
Requirement already satisfied: zope.sqlalchemy in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from gamification-engine) (1.6)
Requirement already satisfied: zope.interface in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from gamification-engine) (5.4.0)
Requirement already satisfied: pyramid-tm in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from gamification-engine) (2.4)
Requirement already satisfied: python-crontab in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from gamification-engine) (2.6.0)
Requirement already satisfied: pyparsing in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from gamification-engine) (3.0.7)
Requirement already satisfied: raven in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from gamification-engine) (6.10.0)
Requirement already satisfied: pyramid in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from gamification-engine) (2.0)
Collecting argon2
Using cached argon2-0.1.10.tar.gz (28 kB)
Preparing metadata (setup.py) ... done
Requirement already satisfied: croniter in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from gamification-engine) (1.3.4)
Requirement already satisfied: mock in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from gamification-engine) (4.0.3)
Requirement already satisfied: pytz in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from gamification-engine) (2021.3)
Requirement already satisfied: jsonschema in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from gamification-engine) (4.4.0)
Requirement already satisfied: waitress in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from gamification-engine) (2.0.0)
Requirement already satisfied: SQLAlchemy in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from gamification-engine) (1.4.31)
Requirement already satisfied: click>=7.1.2 in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from Flask>=0.10.1->gamification-engine) (8.0.4)
Requirement already satisfied: Jinja2>=3.0 in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from Flask>=0.10.1->gamification-engine) (3.0.3)
Requirement already satisfied: Werkzeug>=2.0 in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from Flask>=0.10.1->gamification-engine) (2.0.3)
Requirement already satisfied: itsdangerous>=2.0 in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from Flask>=0.10.1->gamification-engine) (2.1.0)
Requirement already satisfied: Mako in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from alembic->gamification-engine) (1.1.6)
Requirement already satisfied: greenlet!=0.4.17 in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from SQLAlchemy->gamification-engine) (1.1.2)
Requirement already satisfied: python-dateutil in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from croniter->gamification-engine) (2.8.2)
Requirement already satisfied: stevedore>=3.0.0 in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from dogpile.cache->gamification-engine) (3.5.0)
Requirement already satisfied: decorator>=4.0.0 in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from dogpile.cache->gamification-engine) (5.1.1)
Requirement already satisfied: wtforms in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from flask-admin->gamification-engine) (3.0.1)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from jsonschema->gamification-engine) (0.18.1)
Requirement already satisfied: attrs>=17.4.0 in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from jsonschema->gamification-engine) (21.4.0)
Requirement already satisfied: six in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from pymemcache->gamification-engine) (1.16.0)
Requirement already satisfied: setuptools in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from pyramid->gamification-engine) (59.5.0)
Requirement already satisfied: plaster-pastedeploy in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from pyramid->gamification-engine) (0.7)
Requirement already satisfied: venusian>=1.0 in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from pyramid->gamification-engine) (3.0.0)
Requirement already satisfied: translationstring>=0.4 in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from pyramid->gamification-engine) (1.4)
Requirement already satisfied: webob>=1.8.3 in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from pyramid->gamification-engine) (1.8.7)
Requirement already satisfied: hupper>=1.5 in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from pyramid->gamification-engine) (1.10.3)
Requirement already satisfied: plaster in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from pyramid->gamification-engine) (1.0)
Requirement already satisfied: zope.deprecation>=3.5.0 in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from pyramid->gamification-engine) (4.4.0)
Requirement already satisfied: Chameleon in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from pyramid-chameleon->gamification-engine) (3.9.1)
Requirement already satisfied: pyramid-mako>=0.3.1 in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from pyramid-debugtoolbar->gamification-engine) (1.1.0)
Requirement already satisfied: repoze.lru in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from pyramid-debugtoolbar->gamification-engine) (0.7)
Requirement already satisfied: Pygments in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from pyramid-debugtoolbar->gamification-engine) (2.11.2)
Requirement already satisfied: MarkupSafe>=2.0 in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from Jinja2>=3.0->Flask>=0.10.1->gamification-engine) (2.1.0)
Requirement already satisfied: pbr!=2.1.0,>=2.0.0 in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from stevedore>=3.0.0->dogpile.cache->gamification-engine) (5.8.1)
Requirement already satisfied: PasteDeploy>=2.0 in /Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages (from plaster-pastedeploy->pyramid->gamification-engine) (2.1.1)
Building wheels for collected packages: argon2
Building wheel for argon2 (setup.py) ... error
error: subprocess-exited-with-error

× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [26 lines of output]
Warning: 'classifiers' should be a list, got type 'tuple'
running bdist_wheel
running build
running build_py
creating build
creating build/lib.macosx-11-x86_64-3.9
copying argon2.py -> build/lib.macosx-11-x86_64-3.9
package init file 'phc-winner-argon2/init.py' not found (or not a regular file)
running build_ext
building '_argon2' extension
creating build/temp.macosx-11-x86_64-3.9
creating build/temp.macosx-11-x86_64-3.9/phc-winner-argon2
creating build/temp.macosx-11-x86_64-3.9/phc-winner-argon2/src
creating build/temp.macosx-11-x86_64-3.9/phc-winner-argon2/src/blake2
creating build/temp.macosx-11-x86_64-3.9/src
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -DHAVE_CONFIG_H -DHAVE_POSIX_MEMALIGN=1 -DHAVE_SYSCTL_HW_USERMEM=1 -I./phc-winner-argon2 -I./phc-winner-argon2/src -I./phc-winner-argon2/src/blake2 -I/usr/local/include -I/usr/local/opt/[email protected]/include -I/usr/local/opt/sqlite/include -I/Users/admin/.virtualenvs/game_engine/include -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c ./phc-winner-argon2/src/argon2.c -o build/temp.macosx-11-x86_64-3.9/./phc-winner-argon2/src/argon2.o
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -DHAVE_CONFIG_H -DHAVE_POSIX_MEMALIGN=1 -DHAVE_SYSCTL_HW_USERMEM=1 -I./phc-winner-argon2 -I./phc-winner-argon2/src -I./phc-winner-argon2/src/blake2 -I/usr/local/include -I/usr/local/opt/[email protected]/include -I/usr/local/opt/sqlite/include -I/Users/admin/.virtualenvs/game_engine/include -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c ./phc-winner-argon2/src/blake2/blake2b.c -o build/temp.macosx-11-x86_64-3.9/./phc-winner-argon2/src/blake2/blake2b.o
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -DHAVE_CONFIG_H -DHAVE_POSIX_MEMALIGN=1 -DHAVE_SYSCTL_HW_USERMEM=1 -I./phc-winner-argon2 -I./phc-winner-argon2/src -I./phc-winner-argon2/src/blake2 -I/usr/local/include -I/usr/local/opt/[email protected]/include -I/usr/local/opt/sqlite/include -I/Users/admin/.virtualenvs/game_engine/include -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c ./phc-winner-argon2/src/core.c -o build/temp.macosx-11-x86_64-3.9/./phc-winner-argon2/src/core.o
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -DHAVE_CONFIG_H -DHAVE_POSIX_MEMALIGN=1 -DHAVE_SYSCTL_HW_USERMEM=1 -I./phc-winner-argon2 -I./phc-winner-argon2/src -I./phc-winner-argon2/src/blake2 -I/usr/local/include -I/usr/local/opt/[email protected]/include -I/usr/local/opt/sqlite/include -I/Users/admin/.virtualenvs/game_engine/include -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c ./phc-winner-argon2/src/encoding.c -o build/temp.macosx-11-x86_64-3.9/./phc-winner-argon2/src/encoding.o
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -DHAVE_CONFIG_H -DHAVE_POSIX_MEMALIGN=1 -DHAVE_SYSCTL_HW_USERMEM=1 -I./phc-winner-argon2 -I./phc-winner-argon2/src -I./phc-winner-argon2/src/blake2 -I/usr/local/include -I/usr/local/opt/[email protected]/include -I/usr/local/opt/sqlite/include -I/Users/admin/.virtualenvs/game_engine/include -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c ./phc-winner-argon2/src/ref.c -o build/temp.macosx-11-x86_64-3.9/./phc-winner-argon2/src/ref.o
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -DHAVE_CONFIG_H -DHAVE_POSIX_MEMALIGN=1 -DHAVE_SYSCTL_HW_USERMEM=1 -I./phc-winner-argon2 -I./phc-winner-argon2/src -I./phc-winner-argon2/src/blake2 -I/usr/local/include -I/usr/local/opt/[email protected]/include -I/usr/local/opt/sqlite/include -I/Users/admin/.virtualenvs/game_engine/include -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c ./phc-winner-argon2/src/thread.c -o build/temp.macosx-11-x86_64-3.9/./phc-winner-argon2/src/thread.o
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -DHAVE_CONFIG_H -DHAVE_POSIX_MEMALIGN=1 -DHAVE_SYSCTL_HW_USERMEM=1 -I./phc-winner-argon2 -I./phc-winner-argon2/src -I./phc-winner-argon2/src/blake2 -I/usr/local/include -I/usr/local/opt/[email protected]/include -I/usr/local/opt/sqlite/include -I/Users/admin/.virtualenvs/game_engine/include -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c ./src/argon2_py.c -o build/temp.macosx-11-x86_64-3.9/./src/argon2_py.o
clang -bundle -undefined dynamic_lookup -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk build/temp.macosx-11-x86_64-3.9/./phc-winner-argon2/src/argon2.o build/temp.macosx-11-x86_64-3.9/./phc-winner-argon2/src/blake2/blake2b.o build/temp.macosx-11-x86_64-3.9/./phc-winner-argon2/src/core.o build/temp.macosx-11-x86_64-3.9/./phc-winner-argon2/src/encoding.o build/temp.macosx-11-x86_64-3.9/./phc-winner-argon2/src/ref.o build/temp.macosx-11-x86_64-3.9/./phc-winner-argon2/src/thread.o build/temp.macosx-11-x86_64-3.9/./src/argon2_py.o -L/usr/local/lib -L/usr/local/opt/[email protected]/lib -L/usr/local/opt/sqlite/lib -lc_argon2 -o build/lib.macosx-11-x86_64-3.9/_argon2.cpython-39-darwin.so
ld: library not found for -lc_argon2
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command '/usr/bin/clang' failed with exit code 1
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for argon2
Running setup.py clean for argon2
Failed to build argon2
Installing collected packages: argon2, alembic, gamification-engine
Running setup.py install for argon2 ... error
error: subprocess-exited-with-error

× Running setup.py install for argon2 did not run successfully.
│ exit code: 1
╰─> [28 lines of output]
Warning: 'classifiers' should be a list, got type 'tuple'
running install
/Users/admin/.virtualenvs/game_engine/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running build
running build_py
creating build
creating build/lib.macosx-11-x86_64-3.9
copying argon2.py -> build/lib.macosx-11-x86_64-3.9
package init file 'phc-winner-argon2/init.py' not found (or not a regular file)
running build_ext
building '_argon2' extension
creating build/temp.macosx-11-x86_64-3.9
creating build/temp.macosx-11-x86_64-3.9/phc-winner-argon2
creating build/temp.macosx-11-x86_64-3.9/phc-winner-argon2/src
creating build/temp.macosx-11-x86_64-3.9/phc-winner-argon2/src/blake2
creating build/temp.macosx-11-x86_64-3.9/src
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -DHAVE_CONFIG_H -DHAVE_POSIX_MEMALIGN=1 -DHAVE_SYSCTL_HW_USERMEM=1 -I./phc-winner-argon2 -I./phc-winner-argon2/src -I./phc-winner-argon2/src/blake2 -I/usr/local/include -I/usr/local/opt/[email protected]/include -I/usr/local/opt/sqlite/include -I/Users/admin/.virtualenvs/game_engine/include -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c ./phc-winner-argon2/src/argon2.c -o build/temp.macosx-11-x86_64-3.9/./phc-winner-argon2/src/argon2.o
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -DHAVE_CONFIG_H -DHAVE_POSIX_MEMALIGN=1 -DHAVE_SYSCTL_HW_USERMEM=1 -I./phc-winner-argon2 -I./phc-winner-argon2/src -I./phc-winner-argon2/src/blake2 -I/usr/local/include -I/usr/local/opt/[email protected]/include -I/usr/local/opt/sqlite/include -I/Users/admin/.virtualenvs/game_engine/include -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c ./phc-winner-argon2/src/blake2/blake2b.c -o build/temp.macosx-11-x86_64-3.9/./phc-winner-argon2/src/blake2/blake2b.o
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -DHAVE_CONFIG_H -DHAVE_POSIX_MEMALIGN=1 -DHAVE_SYSCTL_HW_USERMEM=1 -I./phc-winner-argon2 -I./phc-winner-argon2/src -I./phc-winner-argon2/src/blake2 -I/usr/local/include -I/usr/local/opt/[email protected]/include -I/usr/local/opt/sqlite/include -I/Users/admin/.virtualenvs/game_engine/include -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c ./phc-winner-argon2/src/core.c -o build/temp.macosx-11-x86_64-3.9/./phc-winner-argon2/src/core.o
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -DHAVE_CONFIG_H -DHAVE_POSIX_MEMALIGN=1 -DHAVE_SYSCTL_HW_USERMEM=1 -I./phc-winner-argon2 -I./phc-winner-argon2/src -I./phc-winner-argon2/src/blake2 -I/usr/local/include -I/usr/local/opt/[email protected]/include -I/usr/local/opt/sqlite/include -I/Users/admin/.virtualenvs/game_engine/include -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c ./phc-winner-argon2/src/encoding.c -o build/temp.macosx-11-x86_64-3.9/./phc-winner-argon2/src/encoding.o
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -DHAVE_CONFIG_H -DHAVE_POSIX_MEMALIGN=1 -DHAVE_SYSCTL_HW_USERMEM=1 -I./phc-winner-argon2 -I./phc-winner-argon2/src -I./phc-winner-argon2/src/blake2 -I/usr/local/include -I/usr/local/opt/[email protected]/include -I/usr/local/opt/sqlite/include -I/Users/admin/.virtualenvs/game_engine/include -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c ./phc-winner-argon2/src/ref.c -o build/temp.macosx-11-x86_64-3.9/./phc-winner-argon2/src/ref.o
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -DHAVE_CONFIG_H -DHAVE_POSIX_MEMALIGN=1 -DHAVE_SYSCTL_HW_USERMEM=1 -I./phc-winner-argon2 -I./phc-winner-argon2/src -I./phc-winner-argon2/src/blake2 -I/usr/local/include -I/usr/local/opt/[email protected]/include -I/usr/local/opt/sqlite/include -I/Users/admin/.virtualenvs/game_engine/include -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c ./phc-winner-argon2/src/thread.c -o build/temp.macosx-11-x86_64-3.9/./phc-winner-argon2/src/thread.o
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -DHAVE_CONFIG_H -DHAVE_POSIX_MEMALIGN=1 -DHAVE_SYSCTL_HW_USERMEM=1 -I./phc-winner-argon2 -I./phc-winner-argon2/src -I./phc-winner-argon2/src/blake2 -I/usr/local/include -I/usr/local/opt/[email protected]/include -I/usr/local/opt/sqlite/include -I/Users/admin/.virtualenvs/game_engine/include -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c ./src/argon2_py.c -o build/temp.macosx-11-x86_64-3.9/./src/argon2_py.o
clang -bundle -undefined dynamic_lookup -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk build/temp.macosx-11-x86_64-3.9/./phc-winner-argon2/src/argon2.o build/temp.macosx-11-x86_64-3.9/./phc-winner-argon2/src/blake2/blake2b.o build/temp.macosx-11-x86_64-3.9/./phc-winner-argon2/src/core.o build/temp.macosx-11-x86_64-3.9/./phc-winner-argon2/src/encoding.o build/temp.macosx-11-x86_64-3.9/./phc-winner-argon2/src/ref.o build/temp.macosx-11-x86_64-3.9/./phc-winner-argon2/src/thread.o build/temp.macosx-11-x86_64-3.9/./src/argon2_py.o -L/usr/local/lib -L/usr/local/opt/[email protected]/lib -L/usr/local/opt/sqlite/lib -lc_argon2 -o build/lib.macosx-11-x86_64-3.9/_argon2.cpython-39-darwin.so
ld: library not found for -lc_argon2
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command '/usr/bin/clang' failed with exit code 1
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> argon2

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.

`

Apparently pip install gamification-engine is needed to run the docker compose as well. Unable to run this. Please help.

Deploy in Heroku is failing with error: ImportError: cannot import name 'ZopeTransactionExtension'

Deploy in Heroku is failing with error: ImportError: cannot import name 'ZopeTransactionExtension'

you can check the installation log here:

T_raceback (most recent call last):_
File "/app/.heroku/python/bin/initialize_gengine_db", line 5, in
from gengine.maintenance.scripts.initializedb import main
File "/app/.heroku/python/lib/python3.6/site-packages/gengine/maintenance/scripts/initializedb.py", line 19, in
from gengine.base.model import exists_by_expr
File "/app/.heroku/python/lib/python3.6/site-packages/gengine/base/model.py", line 10, in
import gengine.metadata as meta
File "/app/.heroku/python/lib/python3.6/site-packages/gengine/metadata.py", line 5, in
from zope.sqlalchemy.datamanager import ZopeTransactionExtension
ImportError: cannot import name 'ZopeTransactionExtension'

Automatic Updates

There have been many changes In the current develop-branch.
I think especially the complete new syntax of the rules, break our Auto-Updates for the upcoming release. (Except anyone is willing to implement a rule-converter)

Several projects have shown that the feature-set is already very good and fits most use-cases well. For the future we will focus on improving stability, performance and usability. This will probably only have minimal model changes and writing migrations should get a lot easier.

Nevertheless, for versions > 0.2 we should find a way to automate tests of the database migrations to provide upgrades on a more regular and safe level.

Is this engine still under maintenance?

Is this engine still under maintenance?
can we have some details in regards to its architecture?
Thank you anyway guys for your efforts, they are much appreciated!

Issues during db initialize

during the install steps keep receiving the below:

Traceback (most recent call last):
File "/bin/initialize_gengine_db", line 9, in
load_entry_point('gamification-engine==0.1.34', 'console_scripts', 'initialize_gengine_db')()
File "/usr/lib/python2.7/site-packages/gengine/scripts/initializedb.py", line 58, in main
from ..models import (
ImportError: cannot import name Property

Icon

We need an icon and a logo. Anyone creative?

error initializing database

(env)[user@server mygengine]$ initialize_gengine_db production.ini alembic.ini reset_db=True populate_demo=True
Traceback (most recent call last):
File "/home/user/www/env/bin/initialize_gengine_db", line 9, in
load_entry_point('gamification-engine==0.1.36', 'console_scripts', 'initialize_gengine_db')()
File "/home/user/www/env/lib/python2.6/site-packages/gengine/scripts/initializedb.py", line 58, in main
from ..models import (
File "/home/user/www/env/lib/python2.6/site-packages/gengine/models.py", line 294
existing_users_set = {x["id"] for x in DBSession.execute(select([t_users.c.id]).where(t_users.c.id.in_([user_id,]+friends))).fetchall()}
^
SyntaxError: invalid syntax

docker-compose up failed

Hello,
I am trying to install docker development on windows docker desktop and got below error:

docker-compose up
[+] Running 0/1

  • python Error 2.6s
    [+] Building 16.9s (15/18)
    => [internal] load build definition from Dockerfile 0.1s
    => => transferring dockerfile: 32B 0.0s
    => [internal] load .dockerignore 0.0s
    => => transferring context: 34B 0.0s
    => [internal] load metadata for docker.io/library/python:3.6-alpine3.10 1.2s
    => [ 1/14] FROM docker.io/library/python:3.6-alpine3.10@sha256:8265d64bda031950d0423578a7193df0ca4d91d53d4f2b685 0.0s
    => [internal] load build context 0.0s
    => => transferring context: 11.69kB 0.0s
    => CACHED [ 2/14] WORKDIR /usr/src/app 0.0s
    => CACHED [ 3/14] RUN apk add --no-cache postgresql-dev build-base musl-dev libffi libffi-dev bash 0.0s
    => CACHED [ 4/14] RUN addgroup -S gengine 0.0s
    => CACHED [ 5/14] RUN adduser -S -D -h /usr/src/app gengine gengine 0.0s
    => CACHED [ 6/14] RUN mkdir /run/uwsgi 0.0s
    => CACHED [ 7/14] RUN chown -R gengine:gengine /run/uwsgi 0.0s
    => CACHED [ 8/14] COPY requirements.txt ./ 0.0s
    => CACHED [ 9/14] COPY optional-requirements.txt ./ 0.0s
    => CACHED [10/14] COPY docker-files/* ./ 0.0s
    => ERROR [11/14] RUN cat optional-requirements.txt >> requirements.txt && pip install -r requirements.txt 15.5s

[11/14] RUN cat optional-requirements.txt >> requirements.txt && pip install -r requirements.txt:
#15 1.715 Collecting alembic==0.9.1
#15 1.777 Downloading alembic-0.9.1.tar.gz (999 kB)
#15 2.546 Collecting appdirs==1.4.3
#15 2.553 Downloading appdirs-1.4.3-py2.py3-none-any.whl (12 kB)
#15 2.604 Collecting certifi==2019.6.16
#15 2.619 Downloading certifi-2019.6.16-py2.py3-none-any.whl (157 kB)
#15 2.693 Collecting Chameleon==3.1
#15 2.704 Downloading Chameleon-3.1.tar.gz (159 kB)
#15 3.133 Collecting chardet==3.0.4
#15 3.142 Downloading chardet-3.0.4-py2.py3-none-any.whl (133 kB)
#15 3.237 Collecting Click==7.0
#15 3.247 Downloading Click-7.0-py2.py3-none-any.whl (81 kB)
#15 3.293 Collecting contextlib2==0.5.5
#15 3.299 Downloading contextlib2-0.5.5-py2.py3-none-any.whl (8.1 kB)
#15 3.384 Collecting croniter==0.3.16
#15 3.392 Downloading croniter-0.3.16.tar.gz (16 kB)
#15 3.720 Collecting dogpile.cache==0.6.2
#15 3.733 Downloading dogpile.cache-0.6.2.tar.gz (329 kB)
#15 4.137 Collecting Flask==1.1.1
#15 4.147 Downloading Flask-1.1.1-py2.py3-none-any.whl (94 kB)
#15 4.215 Collecting Flask-Admin==1.5.3
#15 4.239 Downloading Flask-Admin-1.5.3.tar.gz (1.7 MB)
#15 4.916 Collecting hupper==0.4.4
#15 4.925 Downloading hupper-0.4.4-py2.py3-none-any.whl (18 kB)
#15 4.978 Collecting idna==2.8
#15 4.990 Downloading idna-2.8-py2.py3-none-any.whl (58 kB)
#15 5.033 Collecting itsdangerous==1.1.0
#15 5.042 Downloading itsdangerous-1.1.0-py2.py3-none-any.whl (16 kB)
#15 5.108 Collecting Jinja2==2.10.1
#15 5.117 Downloading Jinja2-2.10.1-py2.py3-none-any.whl (124 kB)
#15 5.167 Collecting jsl==0.2.4
#15 5.176 Downloading jsl-0.2.4.tar.gz (21 kB)
#15 5.511 Collecting jsonschema==2.6.0
#15 5.519 Downloading jsonschema-2.6.0-py2.py3-none-any.whl (39 kB)
#15 5.579 Collecting Mako==1.0.6
#15 5.599 Downloading Mako-1.0.6.tar.gz (575 kB)
#15 6.140 Collecting MarkupSafe==1.1.1
#15 6.163 Downloading MarkupSafe-1.1.1.tar.gz (19 kB)
#15 6.506 Collecting mock==2.0.0
#15 6.516 Downloading mock-2.0.0-py2.py3-none-any.whl (56 kB)
#15 6.596 Collecting packaging==16.8
#15 6.605 Downloading packaging-16.8-py2.py3-none-any.whl (23 kB)
#15 6.647 Collecting PasteDeploy==1.5.2
#15 6.654 Downloading PasteDeploy-1.5.2-py2.py3-none-any.whl (18 kB)
#15 6.719 Collecting plaster==1.0
#15 6.732 Downloading plaster-1.0-py2.py3-none-any.whl (14 kB)
#15 6.778 Collecting plaster-pastedeploy==0.6
#15 6.785 Downloading plaster_pastedeploy-0.6-py2.py3-none-any.whl (7.8 kB)
#15 6.969 Collecting psycopg2==2.8.3
#15 6.984 Downloading psycopg2-2.8.3.tar.gz (377 kB)
#15 7.430 Collecting Pygments==2.2.0
#15 7.450 Downloading Pygments-2.2.0-py2.py3-none-any.whl (841 kB)
#15 7.633 Collecting pymemcache==1.4.2
#15 7.641 Downloading pymemcache-1.4.2-py2.py3-none-any.whl (38 kB)
#15 7.756 Collecting pyparsing==2.2.0
#15 7.766 Downloading pyparsing-2.2.0-py2.py3-none-any.whl (56 kB)
#15 7.868 Collecting pyramid==1.9.1
#15 7.888 Downloading pyramid-1.9.1-py2.py3-none-any.whl (582 kB)
#15 8.045 Collecting pyramid-chameleon==0.3
#15 8.053 Downloading pyramid_chameleon-0.3.tar.gz (28 kB)
#15 8.400 Collecting pyramid-debugtoolbar==3.0.5
#15 8.416 Downloading pyramid_debugtoolbar-3.0.5-py2.py3-none-any.whl (353 kB)
#15 8.520 Collecting pyramid-dogpile-cache==0.0.4
#15 8.527 Downloading pyramid_dogpile_cache-0.0.4.tar.gz (5.2 kB)
#15 8.841 Collecting pyramid-jinja2==2.6.2
#15 8.852 Downloading pyramid_jinja2-2.6.2-py2.py3-none-any.whl (68 kB)
#15 8.910 Collecting pyramid-mako==1.0.2
#15 8.927 Downloading pyramid_mako-1.0.2.tar.gz (37 kB)
#15 9.264 Collecting pyramid-swagger-spec==0.0.7
#15 9.276 Downloading pyramid_swagger_spec-0.0.7.tar.gz (8.2 kB)
#15 9.672 Collecting pyramid-tm==1.1.1
#15 9.684 Downloading pyramid_tm-1.1.1-py2.py3-none-any.whl (15 kB)
#15 9.737 Collecting python-crontab==2.2.2
#15 9.750 Downloading python-crontab-2.2.2.tar.gz (44 kB)
#15 10.09 Collecting python-dateutil==2.5.3
#15 10.11 Downloading python_dateutil-2.5.3-py2.py3-none-any.whl (201 kB)
#15 10.16 Collecting python-editor==1.0.3
#15 10.16 Downloading python-editor-1.0.3.tar.gz (7.0 kB)
#15 10.62 Collecting pytz==2016.10
#15 10.63 Downloading pytz-2016.10-py2.py3-none-any.whl (483 kB)
#15 10.87 Collecting raven==6.0.0
#15 10.89 Downloading raven-6.0.0-py2.py3-none-any.whl (279 kB)
#15 10.97 Collecting repoze.lru==0.6
#15 10.99 Downloading repoze.lru-0.6.tar.gz (19 kB)
#15 11.31 Collecting six==1.10.0
#15 11.32 Downloading six-1.10.0-py2.py3-none-any.whl (10 kB)
#15 11.87 Collecting SQLAlchemy==1.3.0
#15 11.88 Downloading SQLAlchemy-1.3.0.tar.gz (5.9 MB)
#15 13.33 Collecting transaction==2.1.2
#15 13.35 Downloading transaction-2.1.2-py2.py3-none-any.whl (51 kB)
#15 13.40 Collecting translationstring==1.3
#15 13.41 Downloading translationstring-1.3-py2.py3-none-any.whl (15 kB)
#15 13.50 Collecting urllib3==1.25.3
#15 13.52 Downloading urllib3-1.25.3-py2.py3-none-any.whl (150 kB)
#15 13.58 Collecting venusian==1.0
#15 13.59 Downloading venusian-1.0.tar.gz (45 kB)
#15 13.95 Collecting waitress==1.4.2
#15 13.97 Downloading waitress-1.4.2-py2.py3-none-any.whl (148 kB)
#15 14.06 Collecting WebOb==1.7.2
#15 14.07 Downloading WebOb-1.7.2-py2.py3-none-any.whl (83 kB)
#15 14.16 Collecting Werkzeug==0.16.0
#15 14.18 Downloading Werkzeug-0.16.0-py2.py3-none-any.whl (327 kB)
#15 14.27 Collecting WTForms==2.2.1
#15 14.29 Downloading WTForms-2.2.1-py2.py3-none-any.whl (166 kB)
#15 14.36 Collecting zope.deprecation==4.2.0
#15 14.37 Downloading zope.deprecation-4.2.0-py2.py3-none-any.whl (10 kB)
#15 14.72 Collecting zope.interface==4.4.2
#15 14.74 Downloading zope.interface-4.4.2.tar.gz (150 kB)
#15 14.97 ERROR: Command errored out with exit status 1:
#15 14.97 command: /usr/local/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-1wpivbb2/zope.interface/setup.py'"'"'; file='"'"'/tmp/pip-install-1wpivbb2/zope.interface/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-gbgg_c6w
#15 14.97 cwd: /tmp/pip-install-1wpivbb2/zope.interface/
#15 14.97 Complete output (5 lines):
#15 14.97 Traceback (most recent call last):
#15 14.97 File "", line 1, in
#15 14.97 File "/tmp/pip-install-1wpivbb2/zope.interface/setup.py", line 26, in
#15 14.97 from setuptools import setup, Extension, Feature
#15 14.97 ImportError: cannot import name 'Feature'
#15 14.97 ----------------------------------------
#15 14.97 ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
#15 15.17 WARNING: You are using pip version 20.1.1; however, version 21.3.1 is available.
#15 15.17 You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.


failed to solve: executor failed running [/bin/sh -c cat optional-requirements.txt >> requirements.txt && pip install -r requirements.txt]: exit code: 1

No gengine_quickstart script

I am trying to run the following command according to the docs but in the scripts folder of python there is no gengine_quickstart script to be excuted I am running Python 3.6 32-bit. There are different scripts like gengine_scheduler etc in the scripts folder.

gengine_quickstart mygengine

Create an installation guide

Greetings from Argentina! I would like to ask you formally an installation guide since the project layout is not intuitive in this case; I usually search for a requirements.txt to install using pip and an starting point in the documentation about how to spawn the application.

Thank you very much for your time.
Ariel.

404 Not Found add_or_update_user/<user_id>

hi
when I request to rest api on gamification engine a url 404 Not Found

in my gamification engine, auth is off
for example : http://127.0.0.1:6543/add_or_update_user/2 and method: post and python version is 3.7.3
respones:
`

<title>404 Not Found</title>


404 Not Found


The resource could not be found.




/add_or_update_user/2


`

How to solve this problem?

Week test fails randomly

The test "Weekly evaluation Case 1" (see https://github.com/ActiDoo/gamification-engine/blob/master/gengine/app/tests/test_achievement_integration_tests.py) sometimes fails.

For example, the run on Monday failed (see https://travis-ci.org/ActiDoo/gamification-engine/jobs/220583885) while the run on Saturday succeded (see https://travis-ci.org/ActiDoo/gamification-engine/jobs/220083583). In between there are no relevant changes (the commits only effect the Readme file).

I guess that the success depends on the weekday of the test execution, but this isn't verified. Either the test has some undeterministic behavior or the implementation of the evaluation itself.

Errors at heroku instance

When calling progress API for user 2 or 35 (these do exist right now), following error is provided as a response:

{"achievement_errors": {"2": {"id": 2, "error": "Traceback (most recent call last):\n File "/app/.heroku/python/lib/python2.7/site-packages/gengine/views.py", line 92, in ea\n return Achievement.evaluate(user, achievement["id"])\n File "/app/.heroku/python/lib/python2.7/site-packages/gengine/models.py", line 763, in evaluate\n return cache_achievement_eval.get_or_create("%s_%s" % (user["id"],achievement_id),generate)\n File "/app/.heroku/python/lib/python2.7/site-packages/dogpile/cache/region.py", line 651, in get_or_create\n async_creator) as value:\n File "/app/.heroku/python/lib/python2.7/site-packages/dogpile/core/dogpile.py", line 158, in enter\n return self._enter()\n File "/app/.heroku/python/lib/python2.7/site-packages/dogpile/core/dogpile.py", line 98, in _enter\n generated = self._enter_create(createdtime)\n File "/app/.heroku/python/lib/python2.7/site-packages/dogpile/core/dogpile.py", line 149, in _enter_create\n created = self.creator()\n File "/app/.heroku/python/lib/python2.7/site-packages/dogpile/cache/region.py", line 619, in gen_value\n created_value = creator()\n File "/app/.heroku/python/lib/python2.7/site-packages/gengine/models.py", line 686, in generate\n goal_eval["leaderboard"] = Goal.get_leaderboard(goal, user_ids)\nTypeError: 'NoneType' object does not support item assignment\n"}}, "achievements": {}}

ImportError: No module named pbr.core

I'm trying to run the setup (to evaluate this project, not a Python developer) and am getting this error: ImportError: No module named pbr.core

Output is after this:

Installed /tmp/easy_install-9rFuFr/unittest2-1.0.1/traceback2-1.4.0-py2.6.egg
Searching for linecache2
Reading http://pypi.python.org/simple/linecache2/
Best match: linecache2 1.0.0
Downloading https://pypi.python.org/packages/source/l/linecache2/linecache2-1.0.0.tar.gz#md5=7b25d0289ec36bff1f9e63c4329ce65c
Processing linecache2-1.0.0.tar.gz
Running linecache2-1.0.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-9rFuFr/unittest2-1.0.1/temp/easy_install-ocdJn7/linecache2-1.0.0/egg-dist-tmp-PRQgbe

and a long stack trace after. Is there any way around this?

ImportError: cannot import name 'Feature' (tried on Docker)

Got error:

ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-_qpv24pz/zope.interface/setup.py'"'"'; __file__='"'"'/tmp/pip-install-_qpv24pz/zope.interface/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-sa3c96k8
         cwd: /tmp/pip-install-_qpv24pz/zope.interface/
    Complete output (5 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-_qpv24pz/zope.interface/setup.py", line 26, in <module>
        from setuptools import setup, Extension, Feature
    ImportError: cannot import name 'Feature'

When running the docker-compose.
Resolved it when I updated zope.interface to latest: zope.interface==5.2.0.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.