473,856 Members | 1,713 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Is there a python development site for putting up python librariesthat people might be interest in working on?

Over the last couple of years, I've built a module called rex that lays
on top of (and from the user's point of view, hides) the re module. rex
offers the following advantages over re.

* Construction of re's is object oriented, and does not require any
knowledge of re syntax.
* rex is _very good_ at combining small re's into larger re's. In fact,
this sort of composition is almost effortless. It greatly simplifies the
creation of complex re's, since you can build smaller re's, build test
code for them, compose them, build test code for the composition,
compose again, etc.
* Reading and understanding re's built with rex is much easier than
understanding primitive re's.
* No re metacharacters are used by rex. for example, a pattern to match
any character except a, b, or c is just
'not CHAR("abc")' rather [^abc]. A pattern to recognize all of a, b,
c and "^" is CHAR("^abc").
* Many useful predefined patterns are defined. For example PAT.float
matches floating point numbers, so a simple pattern to recognize complex
numbers is PAT.float + ALT("+", "-") + PAT.float + "i"
* The match result object returned by rex is much more flexible, and has
many more functions than that returned by re. Commonly performed
operations on match results can often be done with much less (and much
clearer) code than re.

I had hoped to polish this for a 'true' 1.0 release, but it's become
obvious to me that I won't get to do this in the foreseeable future.
Here is the current status of the project.

* rex is already highly functional. I use it all the time, and I have
had very few bugs emerge. The testing code is fairly comprehensive, and
every time I do find a bug, I've put in another test case. I haven't use
pure re's in over a year and a half.
* rex supports almost all re functionality. Backrefs and a couple of the
new re features added in (I think) python 2.4 are not yet supported, but
should be easy to put in.
* There are some other very useful functions I've partially implemented,
but not finished to the point they can be used. This should be quite
easy, I just haven't had the need.
* I'm not entirely sure the API is ideal. Some discussion is needed on this.
* Internal documentation is decent, but not great.
* Internal code is again decent, but not great.
* User's documentation is not bad, but somewhat out of date. One of the
problems here is that rex makes use of a lot of constants, which cannot
be documented using Python's docstrings. In addition, rex is complex
enough that it needs an external manual or good html ref, and none of
the multiple attempts at pure Python doc systems do this well for
everything that is needed. Now that d'oxygen works with Python, I would
like to redo all of the documentation in D'oxygen.
* Everything is in a single file. This should be split up.

I would like to avoid putting this up on sourceforge as I think it would
do much better at a site aimed specifically at Python development.

Given the above, are people interested in seeing this as a project they
might be interested in working on? And where should I created the project?

Thanks,
Ken
Oct 25 '06 #1
3 1169
Kenneth McDonald:
* Construction of re's is object oriented, and does not require any
knowledge of re syntax.
I have partially done something similar, so I am interested.
Does rex outputs normal REs? Or does it wraps them in some way? A
normal RE output has some advantages, even if you can't have some
functionalities .

* I'm not entirely sure the API is ideal. Some discussion is needed on this.
The API is probably the most important thing in this kind of code. It
requires care, good initial design, and a lot of practical usage by
some people.

* Everything is in a single file. This should be split up.
Sometimes a single file is good too, because it makes the management
simpler, you don't need to keep directories, etc. So you can keep it
that way, or maybe you can (automatically) keep two versions, one
single file and one splitted in more files.

Many constants: maybe there are ways to design the code to use less
constants, like making it accept strings as arguments instead of
constants, like rex.fun("foo") instead of rex.fun(rex.FOO ), like
Tkinter does.

I would like to avoid putting this up on sourceforge as I think it would
do much better at a site aimed specifically at Python development.
Cheeseshop?

Bye,
bearophile

Oct 25 '06 #2
Kenneth McDonald schrieb:
I would like to avoid putting this up on sourceforge as I think it would
do much better at a site aimed specifically at Python development.
As somebody else said: you should put the code and announce the package
at the Cheeseshop: cheeseshop.pyth on.org.

This doesn't offer "project hosting", i.e. it won't give you mailing
lists, public source code repositories, project websites, etc. If
you need these, you should still go to one of the project hosters
(where sf.net is the most prominent one).

Regards,
Martin
Oct 25 '06 #3
Kenneth McDonald wrote:
I would like to avoid putting this up on sourceforge as I think it would
do much better at a site aimed specifically at Python development.
I've been using python-hosting.com for the argparse module and found it
to be a pretty good solution. They offer free Trac/Subversion hosting
for any open-source Python projects:

http://www.webfaction.com/freetrac

Steve
Oct 25 '06 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
9903
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9755
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10692
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
10376
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
7928
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
7084
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5754
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
4567
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
3
3194
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.