I have just released version 0.3.6 of Gerald. Gerald is a general purpose database schema toolkit written in Python.
This release was at the request of the sqlpython project and contains only one change. A new convenience method connect has been added to the Schema class. This enables a schema to be initiated and then later have a database connection associated with it. Because this changes the public API of gerald I’ve released this under a new version number.
Development, bug and issue tracking and the project wiki are available on the project Trac site. Source code and distribution files are available at the sourceforge page.
The next release will be 0.4. Exactly what will make up that release is still evolving, although it is likely to feature SQL Server support as I have just started a new job and all of the systems there use it. To see what else is in the release and to track progress take a look at the version 0.4 roadmap.
Dear lazyweb, I unsubscribed from the distutils-sig mailing list a while back and consequently I’m not up to date with the latest to-ings and fro-ings. But, I have a problem. As reported by someone today Gerald eggs won’t install on Windows.
Everything is fine on my Ubuntu virtual machine, but on my shiny new work laptop I have Python 2.6 and today I downloaded and installed setuptools version 06.c11. When I try and install Gerald I get an error complaining about a lack of a setup.py file;
(TEST) C:\Work\virtualenvs\TEST>easy_install gerald
Searching for gerald
Reading http://pypi.python.org/simple/gerald/
Reading http://halfcooked.com/code/gerald/
Reading http://sourceforge.net/project/showfiles.php?group_id=53184&package_id=109623
Reading http://sourceforge.net/projects/halfcooked/files
Best match: gerald 0.3.5
Downloading http://sourceforge.net/projects/halfcooked/files/gerald/0.3.5/gerald-0.3.5-py2.6.egg/download
Processing download
error: Couldn't find a setup script in c:\docume~1\andy~1.tod\locals~1\temp\easy_install-woqly0\download
(TEST) C:\Work\virtualenvs\TEST>
The only thing that I can find different is that my Ubuntu virtual machine is running version 0.6c9 of setuptools. Has the function changed between two release candidates?
Needless to say this means that Gerald won’t install under Windows using easy_install until I figure this out. All help and suggestions warmly received.
This last weekend I released version 0.3.5 of gerald.
The major component of this release was to add a ‘User’ class to the oracle_schema module. This is similar to the ‘Schema’ class but whilst that shows all of the objects a database user owns the ‘User’ class contains details of all of the objects they can access, including those owned by other database users. This was requested by the sqlpython project to enable them to use gerald for database introspection.
The only other change was to ensure that the NotImplementedError exception is raised in all of the super type methods that are just stubs. This is mainly in the Schema.py module and thus meant that I had to add a set of tests for this module.
Development, bug and issue tracking and the project wiki are available on the project Trac site. Source code and distribution files are available at the sourceforge page.
The next release will be 0.4. Exactly what will make up that release is still evolving. To see what is in the release and to track progress take a look at the version 0.4 roadmap.
Everyone, say hello to version 0.3.1 of gerald. This is a minor update that fixed some issues introduced in release 0.3 In summary these are:
- Ticket 17 – Views have been converted to dictionaries from tuples
- Ticket 18 – Reading an Oracle sequence updates it’s current value
- Ticket 19 – Postgres primary keys were not represented properly when read from the database
Development, bug and issue tracking and the project wiki are available on the project Trac site. Source code and distribution files are available at the sourceforge page.
The next release will be 0.3.5 and will introduce the concept of a ‘User’. This is similar to a ‘Schema’ but will reference all of the objects a database user can see even if they don’t own them. You can track progress for the release using the version 0.3.5 roadmap.
On a recent project a number of interface files were defined as “ASCII encoded DOS files with CRLF (ASCII code 13 and 10 respectively) end of line markers and the field delimiter is | (Pipe character – ASCII code 124)” or in plain language, pipe separated values files.
Now the casual observer would think that these are the same as CSV files, but with a different delimiter. And you would almost be correct -as long as you aren’t relying on popular desktop productivity software to produce your files.
The reasons for this exact format are lost in the mists of time but these files are supposed to be easy to produce by anyone with a computer. The assumption was that most of the people producing these files would be running Microsoft Windows and Office.
This leads to the assumption that you can enter your tabulated data into Excel and save as a pipe delimited CSV right? Wrong. It is next to impossible to do this in Excel unless you change some system wide settings. To which my first response was WTF?
Luckily, Python came to my rescue and all I needed to do was this:
>>> import csv
>>> old_file = csv.reader(open('blah.csv'), dialect='excel')
>>> new_file = csv.writer(open('ANDY.csv', 'w'), delimiter='|')
>>> for record in old_file:
... new_file.writerow(record)
Of course, this doesn’t help the average person in the street who doesn’t have my l33t Python skills. So I’ll be changing the interface format as soon as I get a chance.
I have packaged and released version 0.2.6 of gerald. This is an update that doesn’t change any functionality but has involved a major re-factoring of the module unit tests. Rather than wait I have released the package in it’s current form to give a base for some major changes coming in release 0.3
Gerald is being considered for use in the SQLPython toolkit. For them to get full value I will need to make a number of changes to the code. Luckily for all of us these were on the development roadmap anyway, so I’ve just moved them up the priority list.
As other people have shown an interest in the tool I have also invested in a little infrastructure and have fired up Trac for the sourceforge project. Gerald now has a wiki and, more importantly, a ticketing system for bug reports and feature requests. I’ve put the changes coming for release 0.3 in a number of tickets and you can track progress for the release using the version 0.3 roadmap.
Comments Off
I have packaged and released version 0.2.5 of gerald. This is another minor release with a couple of bugs fixes and one important administration update. You can find all of the details in the CHANGELOG.txt file that comes with the source distribution (or view it here) but in a nutshell the changes from the last release are;
- Fixed a bug in some connections to PostgreSQL
- Removed references to database links without passwords in Oracle
- Converted the package to use setuptools and from this release onward it is installable using easy_install
The last change was at the request of the SQLPython project, if you haven’t taken a look at that wonderful utility yet, please do. To support them it is likely that the next release of Gerald will support SQLite.
Please download, install and enjoy. Bug reports. tumultuous praise or cash bribes to the usual address please.
Comments Off
Python’s setuptools is able to build source distributions from Subversion and CVS. But thanks to the wonders of plugins, and in particular the setuptools_hg plugin, you can now build a Python source package using setuptools from a Mercurial repository.
Comments Off
I have packaged and released version 0.2.4 of gerald. This is a minor release with a couple of little features and some documentation and admin updates. You can find all of the details in the CHANGELOG.txt file that comes with the source distribution (or view it here) but in a nutshell the changes from the last release are;
- Added support for comments on columns in Oracle
- Added support for comments on tables in Oracle
- Changed the stylesheet used for documentation
- Added more information to the README file and converted it to reStructured Text format
Please download, install and enjoy. Bug reports or tumultuous praise to the usual address please.
Comments Off
I have packaged and released version 0.2.3 of gerald. This is mainly a tidy up and bug fix release, with numerous additional unit tests. You can find all of the details in the CHANGELOG.txt file that comes with the source distribution (or view it here) but in a nutshell the changes from the last release are;
- Numerous renames to more fully comply with PEP-8
- Added numerous tests, full details in the CHANGELOG.txt file
- Added an ‘enabled’ flag to table constraints (except in the MySQL module, because that database doesn’t support them)
- Added support for column defaults in Oracle
- Added a ‘table_name’ attribute to the schema.Trigger class
- Removed main and usage functions from each module that shouldn’t be imported
Please download, install and enjoy. Bug reports or tumultuous praise to the usual address please.
Comments Off