i want to start programming a new program (electronic health care center) in python and before start learning python i wanna

make sure that python does have all the features i need to accomblish this project so i wanna ask you does python able to

support these features :

1- cross platform (windows + linux)
2- mysql database access
3- 2D graphs (curves)
4- support of international languages
5- can access a scanner and input pictures from it.

and possibly be able to import data from labratory machines (such as CBC machines) to automatically registaer patient

investigations result into the system (not mandatory)

so can python (with any freely available libraries) do all that ?

thankx in advance :)

Hey docsam,

yes, you can do this all:

"cross platform (windows + linux)"
This is possible. What you have to keep in mind, that if you are creating some GUI (with TkInter e.g) then it looks quite differentwith windows and linux, so you maybe could test the "look&feel" of your work with both os

"mysql database access"
for this there is an extra API called MySQL for Python, maybe you can install this additionally

"2D graphs (curves)"
depends of what you wanna do, if you need the visualization of mathematical or statistical graphs, you can try scipy or/and matplotlib, both run with python2.5, with the second it quite feels like matlab

"support of international languages"
do you mean for showing the GUI with different languages (including special letters?) Try to google python Internationalization

"can access a scanner and input pictures from it"
I guess this is possible too, but never tried it on my own before.

so have a nice time with python.

Mearah

Just to build on what has been said:


2. MySQLdb is very good. Have a look here:

http://www.kitebird.com/articles/pydbapi.html

I use this module a lot and it's pretty incredible.

3. 2d graphs - there are tonnes of graphing packages. I would recommend matplotlib too.

5- can access a scanner and input pictures from it.
thankx in advance :)

Hey docsam,

"can access a scanner and input pictures from it"
I guess this is possible too, but never tried it on my own before.

so have a nice time with python.

Mearah

Well i tried this a while ago, accessing a scanner. I count not find anything to do that with python. What i would do is use another program to get your images from a scanner and then process them with python.

cheers
Paul

You should also know that python has a powerful (though somewhat cumbersome) ctypes library that allows you to call C functions. This will handle your last request if you don't find a different built-in method of doing it (you may have to call the underlying platform's libraries to get the pictures).

You should also know that python has a powerful (though somewhat cumbersome) ctypes library that allows you to call C functions. This will handle your last request if you don't find a different built-in method of doing it (you may have to call the underlying platform's libraries to get the pictures).

Yeah good one i really didn't think of that. Here is a site where they did that, so i guess if you download the code then maybe you could get it to work. But im really not much of an expert on Ctypes

http://www.catenary.com/howto/scansave.html

"cross platform (windows + linux)"
This is possible. What you have to keep in mind, that if you are creating some GUI (with TkInter e.g) then it looks quite differentwith windows and linux, so you maybe could test the "look&feel" of your work with both os

I'd go with wxPython for the GUI, as it's already designed with cross-platform apps in mind. The GUI that you create appears native to any system that the app is run on.

I've used it before for cross-platform GUIs and they've all turned out to be beautiful on all the platforms that I tested (win, *nix)

commented: our ideas of "beautiful" are very different. +6

thank you so much ,that was helpful

now going into python i found that python 3 is just out but recourses are limited (including IDEs) any help on that ?

now going into python i found that python 3 is just out but recourses are limited (including IDEs) any help on that ?

I'd stay away from Python 3 for now. None of the GUI modules support Python 3 except for Tkinter, which is in my opinion much harder to work with than wx.

I think the best bet is to use 2.5. (I'm not sure if wx has a 2.6 version or not, if so I'd go with that guy)

wx has a version for 2.6, but it is known to have issues with the interpreter version 2.6.1. I read something on #wxpython-dev about a newer release of the interpreter fixing them though (and python 2.6.2 is out now, so they may be gone).

Another reason to stay away from 3.0 is that there's (AFAIK) no mysql access libraries yet. Libraries for pretty much everything is pretty scarce for python 3.0.

But, check out what's new in python 3 vs 2.x and try to code as close to 3 syntax as possible. It makes upgrading much easier in the future. For instance, use print("Text") instead of print "Text" . If you can use python 2.6 you can start using alot of the 3.0 feature set already, so there's no reason not to :)

omg , that is ugly....

i have to write the program twice then :(

Not really. If you try to code as close to 3.0 standard, you can use the 2to3 converter tool to convert most of your code when you upgrade your python version.

If you write it in 2.5 there is a tool given with python 30 that will convert your code to python 30 code. But it still wont stop issues such as wxPython not having a python 30 module

so modules for 3.0.1 expected soon ?

I agree with jlm699. Especially if you want to use several APIs on it most of them work best with Python 2.5 (maybe also 2.6). Best strategy for me was to look up which APIs and add-ons I want to use and for what kind of Python they are. Sometimes you have to tinker a little bit before everything works as you want it to work.

I also prefer 2.5
and wxPython really is a nice thing, I think with 2.6 it crashes to often, so better use 2.5

Mearah

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.