A wrapper over bets.42cc.co API
Project description
Installation
pip install bets-api==0.0.4
Basic Usage
import bets
api = bets.BetsApi('<your token>') # get token via admin UI
bets = api.get_active_bets() # list of active bets (same as on dashboard)
len(bets)
# => 70
bets[13]
# => {...} dict that represents the bet
api.get_project_slug(bets[13])
# => u'favim'
api.stakes_in(bets[13])
# => {'stakes': [{u'amount': Decimal('0.20000'),
# u'created': datetime.datetime(2014, 6, 2, 13, 36, 4, 322000),
# u'id': 3565,
# u'side': 0,
# u'user': u'username'}],
# 'sum': Decimal('0.20000')}
api.stakes_out(bets[13])
# => {'stakes': [], 'sum': 0}
Creating bets
api.create_budget(project_slug, expires_at, target_budget, bets_until, min_stake)
# => {u'bet_id': 26, u'status': u'ok'}
expires_at, bets_until - must be datetime objects
bets_until, min_stake - not required
Also, there are methods for creating other types of bets:
create_no_bugs(self, project_slug, expires_at, bets_until=None, min_stake=None):
create_budget(self, project_slug, expires_at, target_budget, bets_until=None, min_stake=None):
create_deadline(self, project_slug, expires_at, target_deadline, bets_until=None, min_stake=None):
create_human(self, description, expires_at, bets_until=None, min_stake=None):
create_billable_hours(self, kava_username, expires_at, hours, start_date, end_date, bets_until=None, min_stake=None):
create_closed_tickets(self, project_slug, expires_at, ticket_nums, bets_until=None, min_stake=None):
create_fitting_budget(self, percent, expires_at, days=90, bets_until=None, min_stake=None):
create_fitting_deadline(self, percent, expires_at, days=90, bets_until=None, min_stake=None):
create_without_defects(self, percent, expires_at, days=90, bets_until=None, min_stake=None):
create_estimate_ticket(self, project_slug, expires_at, ticket_num, bets_until=None, min_stake=None):
Subscribe to Event.BET_EXPIRED
import bets
import gevent
api = bets.BetsApi('<your token>')
def cb(bet):
print 'Bet changed: [%s] %s' % (bet['id'], bet['description'])
api.set_callback(bets.Event.BET_EXECUTED, cb)
api.subscribe(bets.Event.BET_EXECUTED, [1020, 1009, 1010, 11])
gevent.joinall(api.event_loop())
# => Bet changed: [1009] [42-jobs] 0 bugs (2014-05-02 18:00)
# Bet changed: [1010] [coinhand] budget <= 400.0 (2014-04-30 11:15)
# Bet changed: [11] [kavyarnya] deadline <= 2014-03-01 (2014-02-14 02:00)
For more sophisticated example see examples/.
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.
Source Distribution
bets-api-0.0.4.tar.gz
(4.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bets-api-0.0.4.tar.gz.
File metadata
- Download URL: bets-api-0.0.4.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
baab7843268218e1c2fd50c730434422fc64756dcf3c6891d1de8e44aaf72ead
|
|
| MD5 |
2704ecd88e898662bd4cb1a101a73263
|
|
| BLAKE2b-256 |
aa197242da3d4ae670101f44e6ffe289eb984c6c5bd46e1e2328c840f5e572a6
|
File details
Details for the file bets-api-0.0.4.linux-x86_64.tar.gz.
File metadata
- Download URL: bets-api-0.0.4.linux-x86_64.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5090a1cbe988ceb51a4c77ec6ae46dddf3742f9e9ce7d9cfda738015d54ea046
|
|
| MD5 |
7f0cb0127aeeef2f0bdcfdabe552cea3
|
|
| BLAKE2b-256 |
e6885150edeb06b6063dc0c73258b3537d8b1f741ed509fafe29e0eaebde3487
|