[ANN] Atox 0.2 released

M

Magnus Lie Hetland

What is it?
===========

Atox is a framework for automated markup. With it one can quite easily
write custom scripts for converting plain text into XML in any way one
wishes. Atox is normally used as a command-line script, using a simple
XML language to specify the desired transformation from text to
markup, but it is also possible to build custom parsers using the Atox
library. The name (short for ASCII-to-XML) is inspired by such UNIX
tools and system functions as atops and atoi.


What's new in 0.2?
==================

There's a new demo directory with some examples, which also double as
regression tests. There are two new features: Glued matching (for
making sure two features occur side by side) and indentation parsing
(for implementing nested structures based on indentation).

Although the indentation functionality works well, it is still a bit
experimental. Feedback is appreciated on how it might be expanded (or
modified) to be of more practical use.


Where can I get it?
===================

Atox is hosted at SourceForge (http://atox.sf.net) and the current
release (0.2) is available for download via its project page
(http://sf.net/projects/atox).
 
R

Richard James

Although the indentation functionality works well, it is still a bit
experimental. Feedback is appreciated on how it might be expanded (or
modified) to be of more practical use.

Great, another MLH abandoned Python project like NOGUI err... ANYGUI.

Sorry if I sound like a bitter and angry Python troll :)

Magnus has done some very good Python work and I enjoy reading and
learning from his writings.

But, I wasted a lot of valuable time and credibility trying to sell
NOGUI uh... ANYGUI for in house rapid MS Windows gui development to my
boss and co-workers.

I don't know how many times I said: I'm sure the next release is just
around the corner. And it will run on ANY gui that our customers have
installed!!!!!

We didn't need a full blown bells and whistles gui, just simple
buttons, checkboxes, textboxes and such to quickly satisfy our
customers silly little needs. They were scared of messing with the
command line stuff. And we couldn't afford to waste a half a week's
time writing and debugging a custom MS Windows gui that they would
want changed the very next week.

So we ended up using the g4c.pyd from Gui4Cli...

http://www.gui4cli.com/

You can write some very compact and sweet native MS Windows guis with
Gui4Cli.
Plus the Gui4Cli script language can be changed independent of the
program source saving hours and hours of time.

But I have digressed from the XML topic.

Before I invest in another MLH (or anybody's "NEW") Python programming
paradigm I have the following questions:

1: Is yet another XML method really better than just using Python's
"industry standard" XML methods? Am I wasting my time going down a
dead end?

2: Is this code going to be FULLY supported in the future? Like the
problems with Python 2.2 BSD DB vs Python 2.3 BSD DB changes.

3: Does this code violate ANY potential Microsoft XML software patents
in the news this last week? And should we just fagedaboudit when it
comes to using XML in anything other than MS compatible products?

4: Does Python need to establish an offical "registered" project
ranking system? ( F = Not supported, D = Experimental, C = In
development, B = Mature Limited support, A = Full on going Python
language support ) I suppose checking on PyPi is kind of being safe.
But I need to know if XYZ module has a staff of 15 full time
programmers working on it or just kid hacker Billy on his mom's PC
after school. The "professional" look of the Webpage sort of gives you
a clue, but not always. wxPython, while very well supported, has a
weekend hacker feel to it's webpage, when compared to Zope's all pro
webpage.

(P.S. They still make fun of me about "my" NOGUI um... ANYGUI faux
pax.)

-- R.J.
 
I

Istvan Albert

Richard said:
But, I wasted a lot of valuable time and credibility trying to sell
NOGUI uh... ANYGUI for in house rapid MS Windows gui development to my
boss and co-workers.

I don't know how many times I said: I'm sure the next release is just
around the corner. And it will run on ANY gui that our customers have
installed!!!!!

The question that pops into one's mind here is why would you promise
things that are completely out of your control? I understand your
frustration with unfinished or dead projects but let's remember that
for each successful project there will be hundreds that die off and there
is nothing wrong with that. Survival of the fittest.

i.
 
R

Richard James

Istvan Albert said:
The question that pops into one's mind here is why would you promise
things that are completely out of your control? I understand your
frustration with unfinished or dead projects but let's remember that
for each successful project there will be hundreds that die off and there
is nothing wrong with that. Survival of the fittest.

i.

Well it was part of my strategy of getting Python accepted into the
work place as a serious work tool. The early versions of ANYGUI were
very promising in the simplification of GUI interfaces. The command
line interface may be second nature in the Linux hacker world. But in
the "real" MS Windows business world it is not a "production level"
interface.

The true power of Python is in being able to do tasks, like lists and
dictionaries, without thinking about it very much, and without
fighting wild C pointers, or engaging in "in house" C++ class warfare
over what type of list classes and or structures we use this week.

Python is productive, but Python guis are a weak point, as is
compilation.

(Now really! How different are interpreters and linkers? Other than
everybody loves to design and write interpreters and few have ever
written a linker. My "FREE radical" idea is to define and generate
bytecodes that can be both interpreted and linked. Another one is to
dump all the C++ gui paradigms and get the assembly language game
programmers involved in creating a FAST gui programming language you
can use without spending 4 years reading the unclear out of date
documentation. Does QT really need 5000 plus widgets? Or would a
general purpose widget design language be better? I know gui
programming keeps many gui gurus employed, but doesn't "survival of
the fittest" mean constant challenge of the old guard? Flame away at
me. But the Emperors in these two programming areas have no clothes.
You can only wrap so many abstraction layers on top of interface
layers before you strangle yourself. And don't get me started on the
bizzare flavor of the week internet browser html flash asp js java
notjava C# mess!)

Programming productivity matters, the faster you can produce a
finished Windows program the happier the customer is. And you get all
those widgets you buy delivered to the store on time. Instead of half
built widgets laying on a stalled production line, while the packaging
machine GUI is locked up over night.

The academic side of the Python world may not appreciate the "time is
money" concerns. But if time didn't matter, I would write Windows apps
in X86 Assembly and get 100X perfomance increases over the slow
wxPython dll.

There still are a lot of older slower X86 machines running 24/7 on the
manufacturing floor. You don't need a 4GHZ machine to stamp date
codes. Waiting 2 minutes for wxPython to load while the boss stares at
the back of your neck makes Python look very bad. Gui4Cli pops right
up and can talk back and forth to other G4C guis and even other native
Windows apps that are running in the background.

And adding a custom gui for a monitoring program, to alert production
operators to catch a flakey machine in the act, is now childs play
instead of a 40 hour C++ gui programming nightmare weekend.

So I gambled on ANYGUI and lost, up until that point, the Python
community had not let me down. ANYGUI had a snazy graphic on it's
webpage and an active user and developers list going. And many people
seemed to be excitedly involved at the time.

More than anything, the book notice posted on the ANYGUI site in
August 2002 sealed the deal that ANYGUI was a "REAL" product.

I showed the "Practical Python" book to my boss. He liked the look of
it. Can I get a refund? At least rename it "Mythical Python". And
there has been NO notice on the website that the ANYGUI project has
been abandoned, just a "stay tuned" notice. The developers list seems
to have been abandoned by it's developers in August 2003.

Doesn't this "current" 2004 advert look like the "fittest" having
survived???
----------
From Barnes and Noble
----------
Practical Python is an indispensable guide for developers intent on
learning what they need to know to master the Python language.

- Author is well known for his online Python tutorials, Instant Python
and Instant Hacking, and is the founder and lead developer of Anygui,
a respected Python GUI unification project

- Ruthlessly focused on providing practical Python instruction,
foregoing those topics not of interest to mainstream developers
-----------

"a respected Python GUI unification project"???

Was all this just smoke and mirrors to sell a $50 book?

Is XML just the next hot book topic?

As a contrasting example, the pycurl webpage looked like a twenty
minute hand coded html job, yet pycurl has proven to be a reliable and
very useful aspect of the Python programming experience.

You can't judge a book by it's cover or a project by it's webpage
design or even a project by it being in an authoritative looking book.
So that is why I suggested some type of offical ranking page for
Python projects. Maybe others can avoid wasting time and effort in the
future.

The only consequence was that we were stuck with the SOW (Same Old
Way) method for a few more months. Until we found the FREE and well
documented Gui4Cli. We can now make simple gui changes in the Gui4Cli
script language in under half an hour. Most GUIs are also under 20K
bytes in size and using pycurl you can update the production floor
machine in seconds. For low to medium gui complexity Python with
Gui4Cli gets the job done. And it helps in testing out ideas that can
be later turned into full power C++ guis to handle higher data
collection and control rates.

So it turned out ANYGUI's failure to thrive, was as Martha Stewart
says: "a very good thing".

And now we almost don't know how we ever did things before we had
Python and Gui4Cli!

-- R.J.
 
M

Magnus Lie Hetland

[snip trolling about Anygui]
But I have digressed from the XML topic.

Before I invest in another MLH (or anybody's "NEW") Python programming
paradigm I have the following questions:

1: Is yet another XML method really better than just using Python's
"industry standard" XML methods? Am I wasting my time going down a
dead end?

I'm not sure I understand what you mean here. Atox is a tool for
automatically *adding* XML to plain text, not for parsing it. There is
no "industry standard" for this, except hard-coded formats such as
reStructuredText (which is probably a much better choice at the
moment, if that format fits your needs).
2: Is this code going to be FULLY supported in the future?

No. So don't come trolling to me about this in the future :)

This is a project I started because *I* needed/wanted it. This is a
hobby-based open source project. To quote the software, "the software
is provided 'as is', without warranty of any kind".

On the other hand: Version 0.2 works quite well. I suspect there will
be quite a few more versions, which should (hopefully) work even
better.
Like the problems with Python 2.2 BSD DB vs Python 2.3 BSD DB
changes.

3: Does this code violate ANY potential Microsoft XML software
patents in the news this last week?

I have no idea, but I sincerely doubt it. I only use the Python
standard library XML modules (sax and minidom-stuff).

[snip]
(P.S. They still make fun of me about "my" NOGUI um... ANYGUI faux
pax.)

OK, if it makes you feel better: I practically devoted an entire
chapter of my book to Anygui :)

Seriously: Anygui 0.1.1 works. Anygui 0.2 (in CVS) almost works. If we
*do* get 0.2 out (multi-platform testing seems to be the main hurdle,
that is, the need to have several people working on it) then keeping
it up-to-date and supported should be much easier. Probably.
 
M

Magnus Lie Hetland

[snip]
I showed the "Practical Python" book to my boss. He liked the look of
it. Can I get a refund? At least rename it "Mythical Python".

Why? The stuff about Anygui in Practical Python works, and Anygui is
available for download. And even if you ignore the stuff about Anygui,
there's about 600 pages of practical Python material in there. Or did
you have a problem with that too?
And there has been NO notice on the website that the ANYGUI project
has been abandoned, just a "stay tuned" notice. The developers list
seems to have been abandoned by it's developers in August 2003.

There has been no official abandonement. I haven't had lots of time to
work on it while finishing my Ph.D (I guess you think I should have
prioritized Anygui?) and the other developers have similarly busy with
other things.

[snip]
"a respected Python GUI unification project"???

Was all this just smoke and mirrors to sell a $50 book?

No.

Anygui was in no way a reason for writing the book, or vice versa.
Anygui was/is a hobby project of mine. I had/have faith in the idea,
so I included it in the book because I thought of it as a nice
introduction to GUI programming.
Is XML just the next hot book topic?
No.

[snip]
The only consequence was that we were stuck with the SOW (Same Old
Way) method for a few more months. Until we found the FREE and well
documented Gui4Cli. We can now make simple gui changes in the Gui4Cli
script language in under half an hour.

Sounds great.

[snip]
 
M

Magnus Lie Hetland

James wrote:
[snip]

Just an addendum about your suggested rating system -- it may well be
a good idea. Or at least some description of the level of support
(whether it be in the form of a formal rating or not). I guess few
projects could give any guarantees about the future, but a useful
description might be useful still.

Regarding Atox and Anygui: I have queried the Anygui developers, and
we'll see if it's realistic to get a 0.2 version out soon (even
though, I take it, you no longer have any need for that). In either
case, I have updated the message on anygui.org so it now clearly
states that it is unclear when (and if) there will be another release.

As for Atox, atox.sf.net (and the documentation and the future release
announcements) now contain the following message:

Small print: Atox comes with no warranty of any kind. Also, even
though the current version works well, and the project is currently
(as per early 2004) being actively developed, there is no guarantee
of continued support. What you see is what you get.

This is the way it has to be, as I am not paid to work on this and
have limited time (and, sadly, no time machine). Hopefully, the
explicit message will prevent anyone from being mislead in any way.

- Magnus (not very enthusiastic about open source development at the
moment)
 

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

Similar Threads

ANN: Atox 0.3 released 0
[ANN] Atox 0.1c1 released 0
[ANN] Atox 0.1 released 0
ANN: Atox 0.4 released 0
Atox 0.5 released 0
[ANN] BareTest 0.2 released 6
[ANN] net-ldap 0.2 Released 0
ANN: Docpicture 0.2 1

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,534
Members
45,008
Latest member
Rahul737

Latest Threads

Top