Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install bento

How to install bento

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install bento
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
0.0.5
0.1.1Never BuiltWhy not?
0.0.8.1 Failed View build log
0.0.7 Failed View build log
0.0.6 Failed View build log
0.0.5 Available View build log
Windows (64-bit)
0.0.5
0.1.1Never BuiltWhy not?
0.0.8.1 Failed View build log
0.0.7 Failed View build log
0.0.6 Failed View build log
0.0.5 Available View build log
Mac OS X (10.5+)
0.0.6
0.1.1Never BuiltWhy not?
0.0.8.1 Failed View build log
0.0.7 Failed View build log
0.0.6 Available View build log
0.0.5 Available View build log
Linux (32-bit)
0.0.6
0.1.1Never BuiltWhy not?
0.0.8.1 Failed View build log
0.0.7 Failed View build log
0.0.6 Available View build log
0.0.5 Available View build log
Linux (64-bit)
0.0.6
0.1.1 Failed View build log
0.0.8.1 Failed View build log
0.0.7 Failed View build log
0.0.6 Available View build log
0.0.5 Available View build log
 
License
BSD
Lastest release
version 0.1.1 on Jan 9th, 2014

Bento is an alternative to distutils-based packaging tools such as distutils, setuptools or distribute. Bento focus on reproducibility, extensibility and simplicity (in that order).

Packaging is as simple as writing a bento.info file with a file which looks as follows:

Name: Foo
Author: John Doe

Library:
    Packages: foo

The package is then installed with bentomaker, the command line interface to bento:

bentomaker install

Installing

To install bento, you can either:

  • install bento from itself (recommended):

    python bootstrap.py
    ./bentomaker install
    
  • install bento using setuptools (not recommended):

    python setup.py install
    
Python3 support

Bento supports python 3 as is, so there is no need to run 2to3 on it (doing so will probably break it).

Why you should use bento ?

  • Straightfoward package description, in an indentation-based syntax similar to python
  • Simple packages can have their setup.py automatically converted through the 'convert' command
  • Distutils compatibility mode so that a bento package can be installed through pip
  • Adding new commands is simple
  • Pluggable build-backend: you can build your C extensions with a real build system such as waf or scons.
  • Easy to customize install paths from the command line, with sensible defaults on every platform
  • Installing data files such as manpages, configuration, etc... is straightforward and customizable through the command line
  • Supports all python versions >= 2.4 (including 3.x)
  • Designed with reproducibility in mind: re-running the same command twice should produce the same result (idempotency)
  • Preliminary support for windows installers (.exe), eggs and mpkg.

But bento does more:

  • Designed as a library from the ground up, with a focus on robustness and extensibility:

    • new commands can be inserted before/after an existing one without modifying the latter (no monkey-patching needed)
    • easy to add command line options to existing commands
    • each command has a pre/post hook
    • API designed such as commands need to know very little from each other.
    • Moving toward a node-based architecture for robust file location (waf-based design)
    • No global variable/singleton in bento itself
  • Easily bundable, one-file distribution to avoid extra-dependencies when using bento. You only need to add one file to your sources, no need for your users to install anything.

  • Basic support for console scripts ala setuptools

  • Dependency-based extension builders (source content change is automatically rebuilt)

  • Parallel build support for C extensions

  • Low-level interface to the included build tool to override/change any compilation parameter (compilation flag, compiler, etc...)

Planned features:

  • Reliable and fast (parallel) 2->3 convertion.
  • Support for msi packages
  • Reliable conversion between packaging formats on the platforms where it makes sense (egg <-> wininst, mpkg <-> egg, etc...)
  • Provide API to enable Linux distributors to write simple extensions for packaging bento-packages as they see fit
  • Infrastructure for a correctly designed package index, using well-known packaging practices instead of the broken easy_install + pypi model (easy mirroring, enforced metadata, indexing to enable querying-before-installing, reliable install, etc...).

Bento discussions happen on the bento Mailing list (bento@librelist.com, archive on bento-ml), and development is on github. Bugs should be reported on bento issue-tracker. Online documentation is available on github as well.

WHILE BENTO IS ALREADY USABLE, IT MAY STILL SIGNIFICANTLY CHANGE IN BACKWARD INCOMPATIBLE WAYS UNTIL THE FIRST ALPHA.

Subscribe to package updates

Last updated Jan 9th, 2014

Download Stats

Last month:2

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.