[sqlalchemy] Re: Announcing Elixir!

2007-02-15 Thread Jonathan LaCour

Jonathan Ellis wrote:

 Is there a what's new and improved in Elixir document anywhere?

Well, its pretty much entirely new and improved over TurboEntity and
ActiveMapper, in that it provides a totally different way of doing
things.  The extensive documentation and examples on the website will
probably give a reasonable idea of how Elixir is different from both
ActiveMapper and TurboEntity.

--
Jonathan LaCour
http://cleverdevil.org




--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sqlalchemy group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~--~~~~--~~--~--~---



[sqlalchemy] Re: Announcing Elixir!

2007-02-15 Thread Michael Bayer

i hear if you mix Elixir in your SQLSoup it explodes.


On Feb 15, 2007, at 3:28 PM, Jonathan LaCour wrote:


 Jonathan Ellis wrote:

 Is there a what's new and improved in Elixir document anywhere?

 Well, its pretty much entirely new and improved over TurboEntity and
 ActiveMapper, in that it provides a totally different way of doing
 things.  The extensive documentation and examples on the website will
 probably give a reasonable idea of how Elixir is different from both
 ActiveMapper and TurboEntity.

 --
 Jonathan LaCour
 http://cleverdevil.org




 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sqlalchemy group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~--~~~~--~~--~--~---



[sqlalchemy] Re: Announcing Elixir!

2007-02-15 Thread Jonathan Ellis

For instance, I remember reading somewhere that AM wasn't very good at
playing well with the rest of SA when AM wasn't enough, so I never
bothered looking at AM very hard.  I don't see anything on the elixir
site about this issue, but maybe I am looking in the wrong place.

On 2/15/07, Jonathan LaCour [EMAIL PROTECTED] wrote:

 Jonathan Ellis wrote:

  Is there a what's new and improved in Elixir document anywhere?

 Well, its pretty much entirely new and improved over TurboEntity and
 ActiveMapper, in that it provides a totally different way of doing
 things.  The extensive documentation and examples on the website will
 probably give a reasonable idea of how Elixir is different from both
 ActiveMapper and TurboEntity.

 --
 Jonathan LaCour
 http://cleverdevil.org




 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sqlalchemy group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~--~~~~--~~--~--~---



[sqlalchemy] Re: Announcing Elixir!

2007-02-15 Thread Jonathan LaCour

Jonathan Ellis wrote:

 For instance, I remember reading somewhere that AM wasn't very good
 at playing well with the rest of SA when AM wasn't enough, so I never
 bothered looking at AM very hard.  I don't see anything on the elixir
 site about this issue, but maybe I am looking in the wrong place.

I know for sure that Elixir plays a bit better with the rest of SA than
ActiveMapper ever did, but there might still be problems.  The key
thing is that there are three of us helping maintain Elixir now, and
any issues that people find dealing with mixing Elixir and traditional
SQLAlchemy techniques are bugs that should be fixed!

With ActiveMapper, the approach that I took had some issues and
overcoming them required more time than I had to give.  With Elixir,
having a team of people committed to helping out makes all the
difference in the world.

--
Jonathan LaCour
http://cleverdevil.org

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sqlalchemy group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~--~~~~--~~--~--~---



[sqlalchemy] Re: Announcing Elixir!

2007-02-15 Thread Karl Guertin

On 2/15/07, Jonathan Ellis [EMAIL PROTECTED] wrote:
 For instance, I remember reading somewhere that AM wasn't very good at
 playing well with the rest of SA when AM wasn't enough, so I never
 bothered looking at AM very hard.  I don't see anything on the elixir
 site about this issue, but maybe I am looking in the wrong place.

That would be my FUD. I only had it happen in a particular 0.2 release
(forget which). Everybody else who has used the two together seems to
have never had a problem and I know I haven't had any problems mixing
the TurboGears identity (AM) with non-AM classes in SA 0.3. I doubt
it'd be listed in the Elixir docs because it hasn't been a widespread
problem. I'm just noisy.

P.S. I hear if you mix Elixir and SQLSoup you get magic DSL jellybeans.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sqlalchemy group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~--~~~~--~~--~--~---



[sqlalchemy] Re: Announcing Elixir!

2007-02-13 Thread Robert Gravina


On Feb 13, 2007, at 4:35 AM, Jonathan LaCour wrote:


 Today, we are pleased to announce the release of Elixir
 (http://elixir.ematia.de), a declarative mapper for SQLAlchemy.

Great work! I'm new to SQLAlchemy, but after defining my model for my  
first project I thought that it was unnecessarily complex (I  don't  
mean that it was hard, just that were was a lot of work to define  
models for simple objects). I seemed like a potential maintenance  
problem to have an attribute defined on an object, again in a table  
definition. Not only that, but you've provided a way to easily define  
many-to-many relationships without having to define special tables!  
Score one for abstraction, and I'm sure it won't get in the way of  
using SQLAlchemy as is if need be.

I, for one, will be using Elixir!

Robert


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sqlalchemy group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~--~~~~--~~--~--~---



[sqlalchemy] Re: Announcing Elixir!

2007-02-13 Thread Ed Singleton
On 12/02/07, Jonathan LaCour [EMAIL PROTECTED] wrote:

 Today, we are pleased to announce the release of Elixir
 (http://elixir.ematia.de), a declarative mapper for SQLAlchemy.  Elixir
 is the successor to ActiveMapper and TurboEntity, and is a collaboration
 between Daniel Haus, Jonathan LaCour and Gaëtan de Menten.  Elixir's
 website provides installation instructions, a tutorial, extensive
 documentation, and more.

 The eventual goal of Elixir is to become an official SQLAlchemy
 extension after some time soliciting feedback, bug reports, and testing
 from users.

As someone who was resisting moving to SQLAlchemy due to the apparent
complexity, I've had a look through the introduction and the sample TG
app, and this looks wonderful.  I'm now eager to move to this as the
syntax now looks preferable to SQLObject (and writing my model is 90%
of what I do with the ORM).

A few points that came up as I was going through the docs and example:

- You asked whether people preferred the with_fields or has_field
style.  I much prefer the with_fields style as it makes the code much
more 'scannable'.

- The has_many statement immediately makes sense, but the belongs_to
and has_and_belongs_to_many statements don't make obvious sense.  It
took me a while to get my head round them.  I think in general trying
to use natural language for things like this is a nice friendly thing
for extreme newcomers, but tends to prevent them from understanding
what is really going on.  Also, unless the metaphors used are very
accurate, they can actually be misleading.  Movies don't belong to a
Genre.  There just happens to point to another.  Maybe an optional set
of statements with clearer meanings would be a useful addition?

- Because the has_many, belongs_to and has_and_belongs_to_many
statements are all quite different lengths, it makes it harder to scan
through them.  If they were all similar lengths it would make it more
readable. (Particularly as, when formatted according to PEP8, this
syntax has very little whitespace)

As it is though, this is wonderful.  Thank you.  I'm going to start
using it very soon, and I guess I can override the statements easily
enough (that won't break anything will it?).

Ed

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sqlalchemy group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~--~~~~--~~--~--~---



[sqlalchemy] Re: Announcing Elixir!

2007-02-13 Thread Jonathan LaCour

I am moving this thread over to [EMAIL PROTECTED] to continue
the discussion, so please reply over there :)

Ed Singleton wrote:

 As someone who was resisting moving to SQLAlchemy due to the apparent
 complexity, I've had a look through the introduction and the sample TG
 app, and this looks wonderful.  I'm now eager to move to this as the
 syntax now looks preferable to SQLObject (and writing my model is 90%
 of what I do with the ORM).

Fantastic!  I am very pleased to hear that you like the direction we are
going.

 A few points that came up as I was going through the docs and example:

 - You asked whether people preferred the with_fields or has_field
 style.  I much prefer the with_fields style as it makes the code much
 more 'scannable'.

Yes, we had this same discussion internally and I think we were split
on what to do.  Personally, I think they both have their merits, and
have really tried to use both of them in practice to see if one comes
out a clear leader in my mind.  I used to be 100% behind the with_fields
syntax, but have come around a bit to the has_field syntax, which I find
more readable.

Anyway, we might just end up keeping both...

 - The has_many statement immediately makes sense, but the belongs_to
 and has_and_belongs_to_many statements don't make obvious sense.  It
 took me a while to get my head round them.  I think in general trying
 to use natural language for things like this is a nice friendly thing
 for extreme newcomers, but tends to prevent them from understanding
 what is really going on.  Also, unless the metaphors used are very
 accurate, they can actually be misleading.  Movies don't belong to a
 Genre.  There just happens to point to another.  Maybe an optional set
 of statements with clearer meanings would be a useful addition?

We originally had such aliases, but then you end up having to document
the five or six synonyms for each relationship type, so we took them
out.  It is very easy to create your own aliases, if you want:

 from elixir import has_many as owns_a_bunch_of

or, even:

 from elixir import has_many
 owns_a_bunch_of = has_many

This should allow you to clearly pick whatever descriptive term you like
to describe your models, and people can easily scan through your imports
to figure out which relationship type they are dealing with.

 - Because the has_many, belongs_to and has_and_belongs_to_many
 statements are all quite different lengths, it makes it harder to scan
 through them.  If they were all similar lengths it would make it more
 readable. (Particularly as, when formatted according to PEP8, this
 syntax has very little whitespace)

Yes, I totally understand this complaint.  We all had similar thoughts,
but couldn't come up with anything better.  Keep in mind that there
is prior art here with Rails' ActiveRecord, which uses the same
relationship names as we do.  It seems like they also couldn't find
anything better :)

Of course, we are always open to suggestion.

 As it is though, this is wonderful.  Thank you.  I'm going to start
 using it very soon, and I guess I can override the statements easily
 enough (that won't break anything will it?).

Great, and no, overriding statements shouldn't break a thing.  Watch my
blog today as well, because I am going to be posting a quick tutorial
on creating your *own* DSL statements for your model objects.

--
Jonathan LaCour
http://cleverdevil.org




--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sqlalchemy group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~--~~~~--~~--~--~---



[sqlalchemy] Re: Announcing Elixir!

2007-02-13 Thread skip . montanaro


Jonathan Anyway, we might just end up keeping both...

I say punt and pick one.  Even it it's a coin flip.

Skip

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sqlalchemy group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~--~~~~--~~--~--~---



[sqlalchemy] Re: Announcing Elixir!

2007-02-13 Thread Michael Bayer

congrats to jonathan and team !   looking forward to some of the SA
support burden moving over :)



On Feb 12, 2:35 pm, Jonathan LaCour [EMAIL PROTECTED]
wrote:
 Today, we are pleased to announce the release of Elixir
 (http://elixir.ematia.de), a declarative mapper for SQLAlchemy.  Elixir
 is the successor to ActiveMapper and TurboEntity, and is a collaboration
 between Daniel Haus, Jonathan LaCour and Gaëtan de Menten.  Elixir's
 website provides installation instructions, a tutorial, extensive
 documentation, and more.

 The eventual goal of Elixir is to become an official SQLAlchemy
 extension after some time soliciting feedback, bug reports, and testing
 from users.

 Daniel Haus
  http://www.danielhaus.de

 Gaëtan de Menten
  http://openhex.com

 Jonathan LaCour
  http://cleverdevil.org


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sqlalchemy group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~--~~~~--~~--~--~---