[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: proposition of control files for two prospectives packages, pytango and taurus.



Picca Frédéric-Emmanuel wrote:
> I am working on two packages related to the tango project (already saw on this mailing list :)
> Now I want to package the python part.
> So I asked the mainstream authors about there short and long description before opening an ITP.
> I attached the two control files.

> Package: python-pytango
[...]
> Description: The Tango Control System python binding

You mean a Python binding for the TANGO control system, don't you?
Fix the capitalisation, for a start.  And then surely it doesn't need
that "python" in the package synopsis when it's already indicated in
the archive section, the debtags, the long description, and twice in
the package name (a real case of python-pylibpython-mcpython...)?

I'd suggest:

  Description: API for the TANGO control system

(Or maybe s/API/binding/?)

The capitalisation matters because the packagelists already have a
libtango, a Tango icon theme, and a Tango GPS.

>  PyTango is a Python version of TANGO control system open source project,
>  mainly developed by CELLS Alba Synchrotron Controls Section. This module offers 
>  the full of TANGO C++ API in Python, including client and server API.

The fact it's open source is taken for granted in Debian package
descriptions.  But wait, is PyTango a rewrite of the whole project in
Python, or just an API written within that project?  And is it just
PyTango that's mainly developed by these guys or is it the whole of
TANGO?  (In each case I'm assuming the latter.)

Meanwhile, it's good to have the word "Synchrotron" in there as a hint
at the kind of controlling that's required, but what is a CELLS Alba
Synchrotron Controls Section?  Google tells me it's probably the
Controls Section at the ALBA Synchrotron, run by the CELLS consortium.
That's more organisational information than there's any real need for;
I'd suggest dropping the mention of CELLS (which unlike ALBA isn't
notable enough to have its own wikipedia page).

It would be clearer if it quickly introduced TANGO first, including
some hint about what it's for, and then explained where PyTango fits
in.  Recycling from last time:

   TANGO is an object oriented distributed control system using CORBA,
   mainly developed by the Controls Section of the ALBA Synchrotron.
   PyTango provides bindings for its client- and server-side C++ APIs.

>  With PyTango, you can write TANGO device servers and TANGO applications 
>  (scripts, CLIs, GUIs) that access TANGO device servers in pure Python.

Good.  Maybe "(scripts, CLIs, GUIs)" seems a bit overabbreviated, but
probably not worth the effort of fixing.

> Package: python-taurus
[...]
> Description: framework for Tango Control System CLI and GUI applications.

Just needs minor punctuation tweaks:

  Description: framework for TANGO control system CLI and GUI applications

Or maybe this would be more useful:

  Description: framework for TANGO control system client applications

>  TAURUS is a library for connecting client side applications (command-line 
>  interfaces and graphical user interfaces) to TANGO device servers, mainly 
>  developed by CELLS Alba Synchrotron Controls Section. TAURUS is built on top
>  of PyTango which is a python binding for the Tango library. It provides an 

Again the CELLS Alba Synchrotron Controls Section is confusingly
tacked on.

   TANGO is an object oriented distributed control system using CORBA,
   mainly developed by the Controls Section of the ALBA Synchrotron.
   TAURUS is a library for connecting graphical or commandline clients to
   TANGO device servers, built on top of the PyTango bindings.

(The fact that PyTango and PyQt are Python libraries for TANGO and Qt
seems too obvious to need explaining.)

>                                                              It provides an 
>  abstraction layer that allows TANGO to be accessed in a pythonic, object 
>  oriented way. For the GUI part, TAURUS is built on top of the graphical 
>  library PyQt which is a python binding for Qt.

This could be less repetitively ordered as:

                     ... built on top of the PyTango bindings and the
    graphical library PyQt. It provides an abstraction layer for accessing
   TANGO in a pythonic, object oriented way.

>  .
>  The goals of this library are:
>  Provide a simple Tango API to the end-user application
>  Speed up development of tango based applications
>  Provide a standardized look-and-feel

I'll just tweak this to fit d-l-e house style for bulleted lists:

   The goals of this library are to:
    * provide a simple TANGO API to the end-user application;
    * speed up development of TANGO-based applications;
    * provide a standardized look-and-feel.

Mind you, how are these aims notably different from the aims of all
software projects that have ever developed an API?  The description's
already a bit long for a library - is this paragraph really worth
keeping?

>  .
>  In many aspects, TAURUS follows the same approach as the TANGO Java 
>  Application Tool Kit: Tango ATK. If you know ATK, TAURUS will look familiar.
>  .
>  The TAURUS library is divided into two parts: the core module which handles
>  all interaction with PyTango and the Qt module which provides a collection of
>  widgets that can be used inside any PyQt based GUI.

All I'd do here is add a comma before the "and".  No, wait, I'll also
remove the Useless Use of Based: a PyQt based GUI is a PyQt GUI.

Obligatory "why the name" footnote: as has been mentioned before,
TANGO means "TAco Next Generation Objects", and TACO stands for
something nobody remembers or cares about.  TAURUS on the other hand
is such an inspired name for anything connected with a Spanish
synchrotron torus that I'll forgive it for the official expansion as
"TAngo User-interface 'R' US".
-- 
JBR	with qualifications in linguistics, experience as a Debian
	sysadmin, and probably no clue about this particular package
diff -ru old/pytango/control new/pytango/control
--- old/pytango/control	2011-02-14 14:41:55.645259016 +0000
+++ new/pytango/control	2011-02-14 17:55:41.633258950 +0000
@@ -26,9 +26,9 @@
 	 libjs-jquery
 XB-Python-Version: ${python:Versions}
 Provides: ${python:Provides}
-Description: The Tango Control System python binding
- PyTango is a Python version of TANGO control system open source project, 
- mainly developed by CELLS Alba Synchrotron Controls Section. This module offers 
- the full of TANGO C++ API in Python, including client and server API.
- With PyTango, you can write TANGO device servers and TANGO applications 
- (scripts, CLIs, GUIs) that access TANGO device servers in pure Python.
+Description: API for the TANGO control system
+ TANGO is an object oriented distributed control system using CORBA,
+ mainly developed by the Controls Section of the ALBA Synchrotron.
+ PyTango provides bindings for its client- and server-side C++ APIs.
+ With PyTango, you can write TANGO device servers and TANGO applications
+ (scripts, CLIs, GUIs) that access TANGO device servers in pure Python.       
diff -ru old/taurus/control new/taurus/control
--- old/taurus/control	2011-02-14 14:41:48.257262112 +0000
+++ new/taurus/control	2011-02-14 18:00:46.428925630 +0000
@@ -32,23 +32,22 @@
 	 python-lxml,
 	 libjs-jquery
 Provides: ${python:Provides}
-Description: framework for Tango Control System CLI and GUI applications.
- TAURUS is a library for connecting client side applications (command-line 
- interfaces and graphical user interfaces) to TANGO device servers, mainly 
- developed by CELLS Alba Synchrotron Controls Section. TAURUS is built on top 
- of PyTango which is a python binding for the Tango library. It provides an 
- abstraction layer that allows TANGO to be accessed in a pythonic, object 
- oriented way. For the GUI part, TAURUS is built on top of the graphical 
- library PyQt which is a python binding for Qt.
+Description: framework for TANGO control system client applications
+ TANGO is an object oriented distributed control system using CORBA,
+ mainly developed by the Controls Section of the ALBA Synchrotron.
+ TAURUS is a library for connecting graphical or commandline clients to
+ TANGO device servers, built on top of the PyTango bindings and the
+ graphical library PyQt. It provides an abstraction layer for accessing
+ TANGO in a pythonic, object oriented way.
  .
- The goals of this library are:
- Provide a simple Tango API to the end-user application
- Speed up development of tango based applications
- Provide a standardized look-and-feel
+ The goals of this library are to:
+  * provide a simple TANGO API to the end-user application;
+  * speed up development of TANGO-based applications;
+  * provide a standardized look-and-feel.
  .
  In many aspects, TAURUS follows the same approach as the TANGO Java 
  Application Tool Kit: Tango ATK. If you know ATK, TAURUS will look familiar. 
  .
  The TAURUS library is divided into two parts: the core module which handles 
- all interaction with PyTango and the Qt module which provides a collection of 
- widgets that can be used inside any PyQt based GUI.
+ all interaction with PyTango, and the Qt module which provides a collection
+ of widgets that can be used inside any PyQt GUI.
Source: pytango
Section: python
Priority: extra
Maintainer: Picca Frédéric-Emmanuel <picca@synchrotron-soleil.fr>
Build-Depends: debhelper (>= 8.0.0),
	       python-support (>= 0.7.6),
	       python-all-dev,
	       python-setuptools,
	       liblog4tango4-dev,
	       libtango7-dev,
	       libboost-python-dev,
	       python-numpy,
	       ipython
Build-Depends-Indep: python-sphinx
XS-Python-Version: >= 2.5
Standards-Version: 3.9.1
Homepage: http://www.tango-controls.org

Package: python-pytango
Architecture: any
Depends: ${shlibs:Depends},
	 ${misc:Depends},
	 ${python:Depends},
	 python-numpy,
	 ipython,
	 libjs-jquery
XB-Python-Version: ${python:Versions}
Provides: ${python:Provides}
Description: API for the TANGO control system
 TANGO is an object oriented distributed control system using CORBA,
 mainly developed by the Controls Section of the ALBA Synchrotron.
 PyTango provides bindings for its client- and server-side C++ APIs.
 With PyTango, you can write TANGO device servers and TANGO applications
 (scripts, CLIs, GUIs) that access TANGO device servers in pure Python.       
Source: taurus
Section: science
Priority: extra
Maintainer: Debian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
Uploaders: Picca Frédéric-Emmanuel <picca@synchrotron-soleil.fr>
DM-Upload-Allowed: yes
Build-Depends: debhelper (>= 7.0.50),
	       python-support (>= 0.90),
	       python-dev,
	       pyqt4-dev-tools,
	       python-pytango (>= 7.1.3),
	       python-qt4,
	       python-qwt5-qt4,
	       libqt4-dev,
Build-Depends-Indep: python-sphinx,
		     graphviz,
		     python-ply,
		     python-lxml
Standards-Version: 3.9.1
XS-Python-Version: >= 2.6
Homepage: http://www.tango-controls.org

Package: python-taurus
Section: python
Architecture: any
Depends: ${misc:Depends},
	 ${python:Depends},
	 python-qwt5-qt4,
	 python-pytango (>= 7.1.3),
	 python-guiqwt,
	 python-ply,
	 python-lxml,
	 libjs-jquery
Provides: ${python:Provides}
Description: framework for TANGO control system client applications
 TANGO is an object oriented distributed control system using CORBA,
 mainly developed by the Controls Section of the ALBA Synchrotron.
 TAURUS is a library for connecting graphical or commandline clients to
 TANGO device servers, built on top of the PyTango bindings and the
 graphical library PyQt. It provides an abstraction layer for accessing
 TANGO in a pythonic, object oriented way.
 .
 The goals of this library are to:
  * provide a simple TANGO API to the end-user application;
  * speed up development of TANGO-based applications;
  * provide a standardized look-and-feel.
 .
 In many aspects, TAURUS follows the same approach as the TANGO Java 
 Application Tool Kit: Tango ATK. If you know ATK, TAURUS will look familiar. 
 .
 The TAURUS library is divided into two parts: the core module which handles 
 all interaction with PyTango, and the Qt module which provides a collection
 of widgets that can be used inside any PyQt GUI.

Reply to: