##// END OF EJS Templates
setup con console_scripts y log.py sin pass
José Chávez -
r1042:9b29f3bc90b3
parent child
Show More
@@ -1,96 +1,109
1 ## CHANGELOG:
1 ## CHANGELOG:
2
2
3 ### 2.3
3 ### 2.3
4 * Added high order function `multiSchain` for multiprocessing scripts.
4 * Added high order function `multiSchain` for multiprocessing scripts.
5 * Added a new graphics processing unit `PlotterReceiver`. It is decoupled from normal processing sequence with support for data generated by multiprocessing scripts.
5 * Added two new Processing Units `PublishData` and `ReceiverData` for receiving and sending dataOut through multiple ways (tcp, ipc, inproc).
6 * Added a new graphics Processing Unit `PlotterReceiver`. It is decoupled from normal processing sequence with support for data generated by multiprocessing scripts.
7 * Added support for sending realtime graphic to web server.
8 * GUI command `schain` is now `schainGUI`.
6 * Added a CLI tool named `schain`.
9 * Added a CLI tool named `schain`.
7 * Command for GUI is now `schainGUI`.
10 * Scripts templates can be now generated with `schain generate`.
11 * Now it is possible to search Processing Units and Operations with `schain search [module]` to get the right name and its allowed parameters.
12 * `schain xml` to run xml scripts.
8 * Added suggestions when parameters are poorly written.
13 * Added suggestions when parameters are poorly written.
9 * `Controller.start()` now runs in a different process than the process calling it.
14 * `Controller.start()` now runs in a different process than the process calling it.
15 * Added `schainpy.utils.log` for log standarization.
16 * Running script on online mode no longer ignores date and hour. Issue #1109.
17 * Added support for receving voltage data directly from JARS (tcp, ipc).
18 * Updated README for MAC OS GUI installation.
19 * Setup now installs numpy.
10
20
11 ### 2.2.6
21 ### 2.2.6
12 * Graphics generated by the GUI are now the same as generated by scripts. Issue #1074
22 * Graphics generated by the GUI are now the same as generated by scripts. Issue #1074.
23 * Added support for C extensions.
24 * function `hildebrand_sehkon` optimized with a C wrapper.
13 * Numpy version updated.
25 * Numpy version updated.
26 * Migration to GIT.
14
27
15 ### 2.2.5:
28 ### 2.2.5:
16 * splitProfiles and combineProfiles modules were added to VoltageProc and Signal Chain GUI.
29 * splitProfiles and combineProfiles modules were added to VoltageProc and Signal Chain GUI.
17 * nProfiles of USRP data (hdf5) is the number of profiles thera are in one second.
30 * nProfiles of USRP data (hdf5) is the number of profiles thera are in one second.
18 * jroPlotter works directly with data objects instead of dictionaries
31 * jroPlotter works directly with data objects instead of dictionaries
19 * script "schain" was added to Signal Chain installer
32 * script "schain" was added to Signal Chain installer
20
33
21 ### 2.2.4.1:
34 ### 2.2.4.1:
22 * jroIO_usrp.py is update to read Sandra's data
35 * jroIO_usrp.py is update to read Sandra's data
23 * decimation in Spectra and RTI plots is always enabled.
36 * decimation in Spectra and RTI plots is always enabled.
24 * time* window option added to GUI
37 * time* window option added to GUI
25
38
26 ### 2.2.4:
39 ### 2.2.4:
27 * jroproc_spectra_lags.py added to schainpy
40 * jroproc_spectra_lags.py added to schainpy
28 * Bug fixed in schainGUI: ProcUnit was created with the same id in some cases.
41 * Bug fixed in schainGUI: ProcUnit was created with the same id in some cases.
29 * Bug fixed in jroHeaderIO: Header size validation.
42 * Bug fixed in jroHeaderIO: Header size validation.
30
43
31 ### 2.2.3.1:
44 ### 2.2.3.1:
32 * Filtering block by time has been added.
45 * Filtering block by time has been added.
33 * Bug fixed plotting RTI, CoherenceMap and others using xmin and xmax parameters. The first day worked
46 * Bug fixed plotting RTI, CoherenceMap and others using xmin and xmax parameters. The first day worked
34 properly but the next days did not.
47 properly but the next days did not.
35
48
36 ### 2.2.3:
49 ### 2.2.3:
37 * Bug fixed in GUI: Error getting(reading) Code value
50 * Bug fixed in GUI: Error getting(reading) Code value
38 * Bug fixed in GUI: Flip option always needs channelList field
51 * Bug fixed in GUI: Flip option always needs channelList field
39 * Bug fixed in jrodata: when one branch modified a value in "dataOut" (example: dataOut.code) this value
52 * Bug fixed in jrodata: when one branch modified a value in "dataOut" (example: dataOut.code) this value
40 was modified for every branch (because this was a reference). It was modified in data.copy()
53 was modified for every branch (because this was a reference). It was modified in data.copy()
41 * Bug fixed in jroproc_voltage.profileSelector(): rangeList replaces to profileRangeList.
54 * Bug fixed in jroproc_voltage.profileSelector(): rangeList replaces to profileRangeList.
42
55
43 ### 2.2.2:
56 ### 2.2.2:
44 * VoltageProc: ProfileSelector, Reshape, Decoder with nTxs!=1 and getblock=True was tested
57 * VoltageProc: ProfileSelector, Reshape, Decoder with nTxs!=1 and getblock=True was tested
45 * Rawdata and testRawdata.py added to Signal Chain project
58 * Rawdata and testRawdata.py added to Signal Chain project
46
59
47 ### 2.2.1:
60 ### 2.2.1:
48 * Bugs fixed in GUI
61 * Bugs fixed in GUI
49 * Views were improved in GUI
62 * Views were improved in GUI
50 * Support to MST* ISR experiments
63 * Support to MST* ISR experiments
51 * Bug fixed getting noise using hyldebrant. (minimum number of points > 20%)
64 * Bug fixed getting noise using hyldebrant. (minimum number of points > 20%)
52 * handleError added to jroplotter.py
65 * handleError added to jroplotter.py
53
66
54 ### 2.2.0:
67 ### 2.2.0:
55 * GUI: use of external plotter
68 * GUI: use of external plotter
56 * Compatible with matplotlib 1.5.0
69 * Compatible with matplotlib 1.5.0
57
70
58 ### 2.1.5:
71 ### 2.1.5:
59 * serializer module added to Signal Chain
72 * serializer module added to Signal Chain
60 * jroplotter.py added to Signal Chain
73 * jroplotter.py added to Signal Chain
61
74
62 ### 2.1.4.2:
75 ### 2.1.4.2:
63 * A new Plotter Class was added
76 * A new Plotter Class was added
64 * Project.start() does not accept filename as a parameter anymore
77 * Project.start() does not accept filename as a parameter anymore
65
78
66 ### 2.1.4.1:
79 ### 2.1.4.1:
67 * Send notifications when an error different to ValueError is detected
80 * Send notifications when an error different to ValueError is detected
68
81
69 ### 2.1.4:
82 ### 2.1.4:
70 * Sending error notifications to signal chain administrator
83 * Sending error notifications to signal chain administrator
71 * Login to email server added
84 * Login to email server added
72
85
73 ### 2.1.3.3:
86 ### 2.1.3.3:
74 * Colored Button Icons were added to GUI
87 * Colored Button Icons were added to GUI
75
88
76 ### 2.1.3.2:
89 ### 2.1.3.2:
77 * GUI: user interaction enhanced
90 * GUI: user interaction enhanced
78 * controller_api.py: Safe access to ControllerThead
91 * controller_api.py: Safe access to ControllerThead
79
92
80 ### 2.1.3.1:
93 ### 2.1.3.1:
81 * GUI: every icon were resized
94 * GUI: every icon were resized
82 * jroproc_voltage.py: Print a message when "Read from code" option is selected and the code is not defined inside data file
95 * jroproc_voltage.py: Print a message when "Read from code" option is selected and the code is not defined inside data file
83
96
84 ### 2.1.3:
97 ### 2.1.3:
85 * jroplot_heispectra.py: SpectraHeisScope was not showing the right channels
98 * jroplot_heispectra.py: SpectraHeisScope was not showing the right channels
86 * jroproc_voltage.py: Bug fixed selecting profiles (self.nProfiles took a wrong value),
99 * jroproc_voltage.py: Bug fixed selecting profiles (self.nProfiles took a wrong value),
87 Bug fixed selecting heights by block (selecting profiles instead heights)
100 Bug fixed selecting heights by block (selecting profiles instead heights)
88 * jroproc_voltage.py: New feature added: decoding data by block using FFT.
101 * jroproc_voltage.py: New feature added: decoding data by block using FFT.
89 * jroIO_heispectra.py: Bug fixed in FitsReader. Using local Fits instance instead schainpy.mode.data.jrodata.Fits.
102 * jroIO_heispectra.py: Bug fixed in FitsReader. Using local Fits instance instead schainpy.mode.data.jrodata.Fits.
90 * jroIO_heispectra.py: Channel index list does not exist.
103 * jroIO_heispectra.py: Channel index list does not exist.
91
104
92 ### 2.1.2:
105 ### 2.1.2:
93 * jroutils_ftp.py: Bug fixed, Any error sending file stopped the Server Thread
106 * jroutils_ftp.py: Bug fixed, Any error sending file stopped the Server Thread
94 Server thread opens and closes remote server each time file list is sent
107 Server thread opens and closes remote server each time file list is sent
95 * jroplot_spectra.py: Noise path was not being created when noise data is saved.
108 * jroplot_spectra.py: Noise path was not being created when noise data is saved.
96 * jroIO_base.py: startTime can be greater than endTime. Example: SpreadF [18:00 * 07:00] No newline at end of file
109 * jroIO_base.py: startTime can be greater than endTime. Example: SpreadF [18:00 * 07:00]
@@ -1,45 +1,39
1 """.
1 """.
2 SCHAINPY - LOG
2 SCHAINPY - LOG
3 Simple helper for log standarization
3 Simple helper for log standarization
4 Usage:
4 Usage:
5 from schainpy.utils import log
5 from schainpy.utils import log
6 log.error('A kitten died beacuse of you')
6 log.error('A kitten died beacuse of you')
7 log.warning('You are doing it wrong but what the heck, I'll allow it)
7 log.warning('You are doing it wrong but what the heck, I'll allow it)
8 log.succes('YOU ROCK!')
8 log.succes('YOU ROCK!')
9 To create your own logger inside your class do it like this:
9 To create your own logger inside your class do it like this:
10 from schainpy.utils import log
10 from schainpy.utils import log
11 awesomeLogger = log.makelogger("never gonna", bg="red", fg="white")
11 awesomeLogger = log.makelogger("never gonna", bg="red", fg="white")
12 awesomeLogger('give you up')
12 awesomeLogger('give you up')
13 which will look like this:
13 which will look like this:
14 [NEVER GONNA] - give you up
14 [NEVER GONNA] - give you up
15 with color red as background and white as foreground.
15 with color red as background and white as foreground.
16 """
16 """
17
17
18 import click
18 import click
19
19
20
21 def warning(message):
20 def warning(message):
22 click.echo(click.style('[WARNING] - ' + message, fg='yellow'))
21 click.echo(click.style('[WARNING] - ' + message, fg='yellow'))
23 pass
24
22
25
23
26 def error(message):
24 def error(message):
27 click.echo(click.style('[ERROR] - ' + message, fg='red'))
25 click.echo(click.style('[ERROR] - ' + message, fg='red', bg='black'))
28 pass
29
26
30
27
31 def success(message):
28 def success(message):
32 click.echo(click.style(message, fg='green'))
29 click.echo(click.style(message, fg='green'))
33 pass
34
35
30
36 def log(message):
37 click.echo('[LOG] - ' + message)
38 pass
39
31
32 def log(message, topic='LOG'):
33 click.echo('[{}] - {}'.format(topic, message))
40
34
41 def makelogger(topic, bg='reset', fg='reset'):
35 def makelogger(topic, bg='reset', fg='reset'):
42 def func(message):
36 def func(message):
43 click.echo(click.style('[{}] - '.format(topic.upper()) + message,
37 click.echo(click.style('[{}] - '.format(topic.upper()) + message,
44 bg=bg, fg=fg))
38 bg=bg, fg=fg))
45 return func
39 return func
@@ -1,65 +1,69
1 '''
1 '''
2 Created on Jul 16, 2014
2 Created on Jul 16, 2014
3
3
4 @author: Miguel Urco
4 @author: Miguel Urco
5 '''
5 '''
6
6
7 from setuptools import setup, Extension
7 from setuptools import setup, Extension
8 from setuptools.command.build_ext import build_ext as _build_ext
8 from setuptools.command.build_ext import build_ext as _build_ext
9 from schainpy import __version__
9 from schainpy import __version__
10
10
11 class build_ext(_build_ext):
11 class build_ext(_build_ext):
12 def finalize_options(self):
12 def finalize_options(self):
13 _build_ext.finalize_options(self)
13 _build_ext.finalize_options(self)
14 # Prevent numpy from thinking it is still in its setup process:
14 # Prevent numpy from thinking it is still in its setup process:
15 __builtins__.__NUMPY_SETUP__ = False
15 __builtins__.__NUMPY_SETUP__ = False
16 import numpy
16 import numpy
17 self.include_dirs.append(numpy.get_include())
17 self.include_dirs.append(numpy.get_include())
18
18
19
19
20 setup(name="schainpy",
20 setup(name="schainpy",
21 version=__version__,
21 version=__version__,
22 description="Python tools to read, write and process Jicamarca data",
22 description="Python tools to read, write and process Jicamarca data",
23 author="Miguel Urco",
23 author="Miguel Urco",
24 author_email="miguel.urco@jro.igp.gob.pe",
24 author_email="miguel.urco@jro.igp.gob.pe",
25 url="http://jro.igp.gob.pe",
25 url="http://jro.igp.gob.pe",
26 packages = {'schainpy',
26 packages = {'schainpy',
27 'schainpy.model',
27 'schainpy.model',
28 'schainpy.model.data',
28 'schainpy.model.data',
29 'schainpy.model.graphics',
29 'schainpy.model.graphics',
30 'schainpy.model.io',
30 'schainpy.model.io',
31 'schainpy.model.proc',
31 'schainpy.model.proc',
32 'schainpy.model.serializer',
32 'schainpy.model.serializer',
33 'schainpy.model.utils',
33 'schainpy.model.utils',
34 'schainpy.gui',
34 'schainpy.gui',
35 'schainpy.gui.figures',
35 'schainpy.gui.figures',
36 'schainpy.gui.viewcontroller',
36 'schainpy.gui.viewcontroller',
37 'schainpy.gui.viewer',
37 'schainpy.gui.viewer',
38 'schainpy.gui.viewer.windows'},
38 'schainpy.gui.viewer.windows'},
39 ext_package='schainpy',
39 ext_package='schainpy',
40 py_modules=[''],
40 py_modules=[''],
41 package_data={'': ['schain.conf.template'],
41 package_data={'': ['schain.conf.template'],
42 'schainpy.gui.figures': ['*.png','*.jpg'],
42 'schainpy.gui.figures': ['*.png','*.jpg'],
43 },
43 },
44 include_package_data=False,
44 include_package_data=False,
45 scripts =['schainpy/gui/schainGUI',
45 scripts =['schainpy/gui/schainGUI'],
46 'schainpy/scripts/schain'],
47 ext_modules=[
46 ext_modules=[
48 Extension("cSchain", ["schainpy/model/proc/extensions.c"]
47 Extension("cSchain", ["schainpy/model/proc/extensions.c"]
49 )],
48 )],
49 entry_points={
50 'console_scripts': [
51 'schain = schaincli.cli:main',
52 ],
53 },
50 cmdclass={'build_ext':build_ext},
54 cmdclass={'build_ext':build_ext},
51 setup_requires=["numpy >= 1.11.2"],
55 setup_requires=["numpy >= 1.11.2"],
52 install_requires=[
56 install_requires=[
53 "scipy >= 0.14.0",
57 "scipy >= 0.14.0",
54 "h5py >= 2.2.1",
58 "h5py >= 2.2.1",
55 "matplotlib >= 1.4.2",
59 "matplotlib >= 1.4.2",
56 "pyfits >= 3.4",
60 "pyfits >= 3.4",
57 "paramiko >= 2.1.2",
61 "paramiko >= 2.1.2",
58 "paho-mqtt >= 1.2",
62 "paho-mqtt >= 1.2",
59 "zmq",
63 "zmq",
60 "fuzzywuzzy",
64 "fuzzywuzzy",
61 "click",
65 "click",
62 "colorama",
66 "colorama",
63 "python-Levenshtein"
67 "python-Levenshtein"
64 ],
68 ],
65 )
69 )
General Comments 0
You need to be logged in to leave comments. Login now