root / elixir / trunk / setup.py @ 397

Revision 397, 1.6 kB (checked in by ged, 5 years ago)

New features:
- The local_colname and remote_colname arguments on ManyToMany relationships

can now also be used to set custom names for the ManyToMany table columns.
This effectively replace the column_format on ManyToMany relationships which
is now deprecated. Change based on a patch from Diez B. Roggisch.

- Added (or rather fixed and documented) a "table" argument on ManyToMany

relationships to allow using a manually-defined Table (closes #44).

- Added a "schema" argument on ManyToMany relationship to be able to create the

ManyToMany table in a custom schema and not necessarily the same schema as
the table of the "source" entity (patch from Diez B. Roggisch).

Changes:
- Renamed remote_side and local_side ManyToMany arguments to remote_colname and

local_colname respectively to not collide with the remote_side argument
provided by SA (it doesn't make much sense on ManyToMany relationships but
still).

Bug fixes:
- Changed slightly the algorithm to generate the name of the table for

bidirectional self-referential ManyToMany relationships so that it doesn't
depend on the order of declaration of each side (closes #19). If you are
upgrading an application with existing data from an earlier version of
Elixir, you are STRONGLY ADVISED to read the upgrade notes!
=============================
TEMPORARY BUT IMPORTANT NOTE:
=============================
For now it is even worse: the table works but the relationship's meaning is
reversed. Will be fixed before 0.7 ships (see ticket #69).
=============================

- Added missing documentation for the "filter" argument on OneToMany

relationships

Not logged in CHANGES:
- bumped version
- added a few tests
- completed/fixed the API doc a bit
- added some comments in the code so that I remember why things are done this

way.

Line 
1from setuptools import setup, find_packages
2
3setup(name="Elixir",
4      version="0.7.0",
5      description="Declarative Mapper for SQLAlchemy",
6      long_description="""
7Elixir
8======
9
10A declarative layer on top of SQLAlchemy. It is a fairly thin wrapper, which
11provides the ability to create simple Python classes that map directly to
12relational database tables (this pattern is often referred to as the Active
13Record design pattern), providing many of the benefits of traditional
14databases without losing the convenience of Python objects.
15
16Elixir is intended to replace the ActiveMapper SQLAlchemy extension, and the
17TurboEntity project but does not intend to replace SQLAlchemy's core features,
18and instead focuses on providing a simpler syntax for defining model objects
19when you do not need the full expressiveness of SQLAlchemy's manual mapper
20definitions.
21""",
22      author="Gaetan de Menten, Daniel Haus and Jonathan LaCour",
23      author_email="sqlelixir@googlegroups.com",
24      url="http://elixir.ematia.de",
25      license = "MIT License",
26      install_requires = [
27          "SQLAlchemy >= 0.4.0"
28      ],
29      packages=find_packages(exclude=['ez_setup', 'tests', 'examples']),
30      classifiers=[
31          "Development Status :: 4 - Beta",
32          "Intended Audience :: Developers",
33          "License :: OSI Approved :: MIT License",
34          "Operating System :: OS Independent",
35          "Programming Language :: Python",
36          "Topic :: Database :: Front-Ends",
37          "Topic :: Software Development :: Libraries :: Python Modules"
38      ],
39      test_suite = 'nose.collector')
Note: See TracBrowser for help on using the browser.