ANN: dbf.py 0.94

E

Ethan Furman

Getting closer to a stable release.

Latest version has a simpler, cleaner API, and works on PyPy (and
hopefully the other implementations as well ;), as well as CPython.

Get your copy at http://python.org/pypi/dbf.

Bug reports, comments, and kudos welcome! ;)

~Ethan~
 
S

Steven D'Aprano

Getting closer to a stable release.

Excellent! That's fantastic news! I've been waiting for a stable release
of dbf for months! I just have one question.

What is dbf?

Latest version has a simpler, cleaner API, and works on PyPy (and
hopefully the other implementations as well ;), as well as CPython.

Get your copy at http://python.org/pypi/dbf.

I don't generally click on arbitrary links to find out whether or not the
link is something that interests me enough to click on it.
 
T

Temia Eszteri

I don't generally click on arbitrary links to find out whether or not the
link is something that interests me enough to click on it.

Can't really call a cheese shop link arbitrary. It's in the best place
it could be for providing info about the package.

~Temia
 
C

Chris Angelico

Can't really call a cheese shop link arbitrary. It's in the best place
it could be for providing info about the package.

True, but Steven's point still stands, that announcements of this
nature are far more readable when they open with a one-sentence
statement of what the package _is_.

ChrisA
 
E

Ethan Furman

Steven said:
Excellent! That's fantastic news! I've been waiting for a stable release
of dbf for months! I just have one question.

What is dbf?

:)

dbf (also known as python dbase) is a module for reading/writing
dBase III, FP, VFP, and soon Clipper, .dbf database files. It's
an ancient format that still finds lots of use.

It even reads and writes memo fields -- something which none of the
other modules do (which is why I wrote this one -- I needed that! ;).

It supports unicode, and returns all fields as native Python types:

Character --> unicode
Date --> datetime.date
Logical --> bool/None
Memo --> unicode
Numeric --> int/float depending on field definition

If a field is uninitialized (Date, Logical, Numeric) then None is
returned for the value.

Tables are accessible as lists; Records are accessible as lists, dicts,
and objects ( attribute access ).

Enjoy your weekend!
 
T

Temia Eszteri

True, but Steven's point still stands, that announcements of this
nature are far more readable when they open with a one-sentence
statement of what the package _is_.

ChrisA

If I wanted to counter his whole point, I would've quoted his whole
post. ;P Yes, the post to the newsgroup is rather oblique, but the
cheese shop is hardly arbitrary.

~Temia
 
S

Steven D'Aprano

Can't really call a cheese shop link arbitrary. It's in the best place
it could be for providing info about the package.

You've missed the point. Why should I bother to click on it at all, PyPI
or not, if I'm going to find it is a library for something I don't care
about? If the developer of the library doesn't write a few words to tell
people what his library does when making an announcement, or what
improvements there are from the previous release, he's going to struggle
to attract even those users who *would* be interested, if only they knew
about it.

This mailing list is about helping our fellow Python developers improve
their skills and solve problems. That doesn't just mean *coding*
problems, it also means helping them to write better documentation and
promote their software better.

For every person like me who takes the time out to gently remind the
developer that we aren't mind-readers and don't know WTF he's talking
about, there are a thousand who just move on, and he's just lost 99% of his
potential user-base. Since he's taken the time out to make a public
announcement, I assume he would like people to use his software. If not,
why bother making the announcement at all?

Unless the software is so well-known that everybody knows what it is,
failure to mention what the software does gives the impression that:

1) the software is so niche, or so ill-thought out, that the developer
*can't* describe it succinctly;

2) the developer has such poor communication skills that trying to get
support will be a nightmare;

3) that he just doesn't give a monkey's toss for anyone else's time

or all three. Ethan is a good, helpful member of this community, and
so I'm pretty sure that neither 2) nor 3) are true, but others may get
the wrong impression.

Here are a few randomly selected examples of good release announcements:

http://mail.python.org/pipermail/python-announce-list/2012-June/009528.html

http://mail.python.org/pipermail/python-announce-list/2012-June/009509.html

http://mail.python.org/pipermail/python-announce-list/2012-June/009524.html
 
C

Chris Angelico

Unless the software is so well-known that everybody knows what it is...

I've yet to meet ANY piece of software that's like that. Even with
releases of CPython (arguably the primary point of this list) it
wouldn't hurt to give an explanation, and certainly with other
Pythons, it'd help a lot (PyPy and Jython are probably guessable, but
I wouldn't bet on anyone knowing what "IronPython" is without a
summary).

Agreed, those are worth imitating.

ChrisA
 
E

Ethan Furman

Steven said:
This mailing list is about helping our fellow Python developers improve
their skills and solve problems. That doesn't just mean *coding*
problems, it also means helping them to write better documentation and
promote their software better.

Indeed it is, and your reminder is appreciated. Hopefully my
followup-post was more explanatory.

Unless the software is so well-known that everybody knows what it is,
failure to mention what the software does gives the impression that:

1) the software is so niche, or so ill-thought out, that the developer
*can't* describe it succinctly;

Nah -- just the end of a long week, needed to go get my daughter, and
wanted it out there for those few who actually need the bug fixes (which
I neglected to mention).
2) the developer has such poor communication skills that trying to get
support will be a nightmare;

My support is pretty good. :)

3) that he just doesn't give a monkey's toss for anyone else's time

See point one.
or all three. Ethan is a good, helpful member of this community, and
so I'm pretty sure that neither 2) nor 3) are true, but others may get
the wrong impression.

Thank you. The project is kinda niche, but very useful if you happen to
be in that niche.


Those are good. My announcement will be better next time.

~Ethan~
 
M

Matej Cepl

dbf (also known as python dbase) is a module for reading/writing
dBase III, FP, VFP, and soon Clipper, .dbf database files. It's
an ancient format that still finds lots of use.

Other than the caring for the ancient legacy data, it is still widely
used in GIS, because shapefiles (http://en.wikipedia.org/wiki/Shapefile)
are based on it.

Matěj
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,576
Members
45,054
Latest member
LucyCarper

Latest Threads

Top