Giter Club home page Giter Club logo

zepheira / akara Goto Github PK

View Code? Open in Web Editor NEW

This project forked from uogbuji/akara

25.0 25.0 5.0 1.08 MB

Akara is an open-source (Apache2 license) Web framework specialized for RESTful data services, especially involving XML and other semi-structured formats. It's implemented in Python and C. You express data models and create transforms based on these data models, plugging required inputs and outputs (XML, JSON, CSV, Atom, etc.) together into pipelines which implement the desired services. You then make these services available on the Web using simple wrappers. The wrappers are based on REST concepts and among other things make it easy to discover and reuse the services, and to connect them to local and remote systems using Web triggers (AKA Web hooks). Akara simplifies extract-transform-load (ETL), data-driven integration of systems, and makes it easy to wrap Web sites and services, turning tag soup and painful APIs into clean, RESTful end-points.

Home Page: http://purl.org/xml3k/akara

License: Apache License 2.0

Python 99.75% Shell 0.07% XSLT 0.18%

akara's People

Contributors

dabeaz avatar distobj avatar uogbuji 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

akara's Issues

Restore notifications to the list from github issues, etc.

We used to have notifications to the Akara group from github, but inMarch, 2011 the service made a change to the notification e-mail headers which stymies this. Unfortunately, as you can see in the comments from others with this problem, github staff argue "You should only be sending your notifications to your own email address," which is frankly silly. It seems we'll have to implement some sort of intermediary that can forward notification messages to the group.

Logging and log rotation

It would be useful for Akara to properly rotate all of its logs in response to a signal. There is some start to this with the rotate command line instruction, but the implementation is incomplete, skipping the access log and neglecting to close the original fd and open a new one. There is also no need to go down the path of reinventing handling rotation from within Akara, this can reliably be given to the operating system to deal with.

There may be some issue with multiprocess safety with the current logging implementation. The Python documentation on the subject suggests using a socket listener for all processes to send log messages to. Presumably allowing the log listener to handle log closing / opening would be sufficient.

Consider implementing delay pools and other protection mechanisms

Servers such as Squid and Apache implement delay pools as a mechanism to prevent problematic or abusive request patterns. See also:

For now Akara deployments can just lurk behind reverse proxies with such features turned on, but it might be useful to have some primitive facilities for this.

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.