Code Monkey home page Code Monkey logo

finch's Introduction

Jaime Gil de Sagredo Luna

Passionate about building high-quality software products that deliver value to users. With a focus on fast, iterative and user-driven development, I specialize in developing both MVPs and long-term products using cost and time sustainable processes.

My core practices and experience encompass a wide range of methodologies, including eXtreme Programming, Simple Design, Lean and DevOps. I am well-versed in Test-Driven Development (TDD), Domain-Driven Development (DDD), and Hexagonal architecture, which enable me to build robust and scalable software solutions.

I can help your company, startup, or software development team build high-quality software products that satisfy your users needs. Whether it's through crafting new products, iterating your existing products, or guiding and mentoring your development team to improve their skills and capabilities.

Contact me to schedule a meeting or find more about me at: LinkedIn, Twitter or my personal page.

finch'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

finch's Issues

Please add a way to shim additional arguments into the httpclient requests.

Reading through the code I don't see anyway to set additional keyword arguments to passed to the client; since the HTTPRequest api takes something like 28 different keyword arguments this omission makes it quite difficult to do things like disable ssl certificate validation or set basic http auth credentials.

add license file

There is no license or copyright statement in this repository. Please provide one, otherwise it can't be forked, distributed, worked on, etc.

parse_repo function mention in example doesn't exist in example

def parse(self, body, headers):
    return parse_repo(json.loads(body))

"parse_repo" doesn't appear to be defined in the example or import from any modules. The example, as a result, is broken. Please include the function definition if it is necessary for the example code or remove the reference if it isn't needed.

Use requests instead of tornado (pluggable)

I just stumpled upon this great package during my research for a rest api consuming client and it looks very promising.

Is it possible to use requests instead of tornado for the client?

Support/example for paginated api responses

Many rest API don't allow you to just pull down the entire contents of a large collection, they are paginated with offset and limit arguments. Can you please provide either built in utility to use such paginated sources or provide an example of how to write a parser that handles pagination.

Example github.py doesn't work.

I've just cloned the repo, created a virtualenv, activated it and installed requirements with pip install -r requiments.txt and ran python github.py

Tornado just throws the following exception:

ERROR:tornado.application:Exception in callback <functools.partial object at 0x7fb9e1809ba8>
Traceback (most recent call last):
  File "/home/gbrennon/Documents/Prog/Python/Tornado/finch_example/finch_repo/env/lib/python2.7/site-packages/tornado/ioloop.py", line 568, in _run_callback
    ret = callback()
  File "/home/gbrennon/Documents/Prog/Python/Tornado/finch_example/finch_repo/env/lib/python2.7/site-packages/tornado/stack_context.py", line 275, in null_wrapper
    return fn(*args, **kwargs)
  File "build/bdist.linux-x86_64/egg/finch/collection.py", line 57, in on_query
    self.on_error(partial(callback, None), response)
  File "build/bdist.linux-x86_64/egg/finch/collection.py", line 41, in on_error
    callback(errors.HTTPError(response.code))
  File "examples/github.py", line 54, in on_repos
    raise error
HTTPError: Forbidden

Add a parse_response method to Model and Collection

I would like to divide the current parse(body, headers) method, which parses the http response and returns a dict with the model or collection values, into a parse_response(body, headers) method that only parses the response and returns a raw dict, and a parse(raw) method that receives the raw dict from parse_response and returns a new dict with the values for the model or collection.

See the example below:

class User(Model):
    name = StringField()
    age = IntegerField()

    def parse_response(self, body, headers):
        return json.loads(body)

    def parse(self, raw):
        return {
            'name': raw['fullName'],
            'age': int(raw['age'])
        }

Also, that way we could call the Model.parse method for each item when retrieving an entire collection.

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.