@@ -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