GithubHelp home page GithubHelp logo

pyminder's Introduction

pyminder

I use Beeminder in a lot of my Python projects, and I find myself writting the same helper functions multiple times. This repository will serve as a place for me to store this functionality and make it accessible to other people.

Installation

pip3 install --user pyminder

Usage

import time
from pyminder.pyminder import Pyminder

pyminder = Pyminder(user='[your username]', token='[your api token]')

goals = pyminder.get_goals()
goal = goals[0]

# Goal objects expose all API data as dynamic properties.
# http://api.beeminder.com/#attributes-2
slug = goal.slug
rate = goal.rate

# Goal objects also implement a handful of helper functions.
# Note: These functions probably contain bugs! Issues & pull requests welcome.
# https://github.com/narthur/pyminder/blob/master/pyminder/goal.py
now = time.time()
sum_ = goal.get_data_sum(now)
needed = goal.get_needed(now)

Links

Development

  • Set up a virtual environment in PyCharm so you aren't using the global Python env. This will allow you to avoid conflicts of dependencies.

Deployment

Information

pyminder's People

Contributors

haydenmacdonald avatar matkoniecz avatar narthur avatar saridout avatar

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

Watchers

 avatar  avatar  avatar  avatar

pyminder's Issues

repository classification

Can you consider adding topics to the repository description? For this repo "beeminder" would be a good fit.

I am unable to make PR for this, as it is not a part repository but repository metadata managed by github.

For example see https://github.com/openstreetmap/openstreetmap-website - it has following tags:

Selection_002

See https://blog.github.com/2017-01-31-introducing-topics/ and https://help.github.com/articles/about-topics/ for a description of topics (it is a name that Github used for tags/categories)

Consider adding to the readme an example of using API modifying goal

Currently it is not obvious to me how to do this using this library

I found

def update_goal(self, goal_name, slug=None, title=None, yaxis=None, secret=None,
that allows to do this with some subset of parameters.

    pyminder = Pyminder(user='[your username - dummy field]', token=token())
    pyminder._beeminder.update_goal("ping_babcia", title="ping_babcia_description")

works, but is using internal _ prefixed things.

And to edit arbitrary parameters following terribleness works, but I hope for something nicer.

    pyminder = Pyminder(user='[your username - dummy field]', token=token())
    #pyminder._beeminder.update_goal("ping_babcia", title="ping_babcia_description")
    goal_name = "ping_babcia"
    endpoint = f'users/{pyminder._beeminder._user}/goals/{goal_name}.json'
    data = {"fineprint": "test fineprint", "title": "ping_babcia_description"}
    pyminder._beeminder._call(endpoint, data=data, method="PUT")

And thanks for a publishing this library, it saved me some time that would be needed to write it on my own!

SyntaxError: invalid syntax for pyminder-0.6.2 on Python 3.5.2, missing dependency "natlibpy" for Python 3.6

Not sure is this simply a bug, or is pyminder-0.6.2 released with a too low minimum Python version

python run.py 
Traceback (most recent call last):
  File "run.py", line 2, in <module>
    from pyminder.pyminder import Pyminder
  File "/home/mateusz/.local/lib/python3.5/site-packages/pyminder/pyminder.py", line 7
    _beeminder: Beeminder = None
              ^
SyntaxError: invalid syntax

python --version
Python 3.5.2

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.