spacexerq 27d386992a convert services/spectroscopy from broken submodule to tracked directory hace 2 semanas
..
.dockerignore 27d386992a convert services/spectroscopy from broken submodule to tracked directory hace 2 semanas
.gitignore 27d386992a convert services/spectroscopy from broken submodule to tracked directory hace 2 semanas
Dockerfile 27d386992a convert services/spectroscopy from broken submodule to tracked directory hace 2 semanas
ESSSST.py 27d386992a convert services/spectroscopy from broken submodule to tracked directory hace 2 semanas
VERSION 27d386992a convert services/spectroscopy from broken submodule to tracked directory hace 2 semanas
main.py 27d386992a convert services/spectroscopy from broken submodule to tracked directory hace 2 semanas
nmr_processor.py 27d386992a convert services/spectroscopy from broken submodule to tracked directory hace 2 semanas
readme.md 27d386992a convert services/spectroscopy from broken submodule to tracked directory hace 2 semanas
requirements.txt 27d386992a convert services/spectroscopy from broken submodule to tracked directory hace 2 semanas
run_py.py 27d386992a convert services/spectroscopy from broken submodule to tracked directory hace 2 semanas
sample.csv 27d386992a convert services/spectroscopy from broken submodule to tracked directory hace 2 semanas
sample2.csv 27d386992a convert services/spectroscopy from broken submodule to tracked directory hace 2 semanas
state.py 27d386992a convert services/spectroscopy from broken submodule to tracked directory hace 2 semanas
test.json 27d386992a convert services/spectroscopy from broken submodule to tracked directory hace 2 semanas
test.py 27d386992a convert services/spectroscopy from broken submodule to tracked directory hace 2 semanas
test2.json 27d386992a convert services/spectroscopy from broken submodule to tracked directory hace 2 semanas
test3.json 27d386992a convert services/spectroscopy from broken submodule to tracked directory hace 2 semanas
test4.json 27d386992a convert services/spectroscopy from broken submodule to tracked directory hace 2 semanas
test_decode_hardware_json.py 27d386992a convert services/spectroscopy from broken submodule to tracked directory hace 2 semanas

readme.md

Spectropy server Fast-Api 8000

Start container build

$env:APP_VERSION = (Get-Content -Raw VERSION).Trim()
docker compose up --build -d

Stop:

docker compose down

Structure:

  • start server - run_py.py
  • decoder - ESSSST.py
  • main functional - main.py
  • tests - test.py with testing .csv and .json files

Docs:

Data:

/export-raw-data/ - post req, return raw data without filters or decimation or demodulator

{
  "status": "raw signal",
  "data": signal,
  "path": session_id
}

/export-filter-data/ - post req, return filtered data without decimation

{
  "status": "filtered signal",
  "signal_real": np.array(ch1_complex).real.tolist(), 
  "signal_imag": np.array(ch1_complex).imag.tolist(),
  "time_data_signal":dt.tolist(), 
  "path": session_id
}

/export-decdem-data/ - post req, return decimated and demodulated data

{
  "status": "dec and dem signal",
  "signal_real": np.array(decimated).real.tolist(),
  "signal_imag": np.array(decimated).imag.tolist(),        
  "path": session_id
}

FWHM:

/export-position-freq/ - found position in decimated signal

{
  "status": "peak position",
  "peak max amplitude in freq": peak_frequency,
  "path": session_id
}

/export-FWHM/ - found width at half height in decimated signal

{
  "status": "FWHM",
  "width at half height": FWHM_normalized,
  "path": session_id
}

/export-max-amplitude-freq/ - found max amplitude frequency in decimated data

{
  "status": "max amplitude freq",
  "max amplitude": max_amplitude,
  "path": session_id
}

Build

in cmd u open directory where file run_py.py, make .spec file:

# -*- mode: python ; coding: utf-8 -*-

a = Analysis(
    ['run_py.py'],
    pathex=[],
    binaries=[],
    datas=[
    ('main.py', '.'),  
    ('state.py', '.')
    ],
    hiddenimports=[
        'fastapi',
        'uvicorn',
        'starlette',
        'pydantic',
        'typing_extensions',
        'anyio',
        'httpx',
        'h11',
        'idna',
        'certifi',
        'urllib3',
        'pandas',
        'scipy',
        'numpy',
        'io',
        'uuid',
        'math',
        'matplotlib',
        'scipy.signal',
        'fastapi.responses',
        'scipy.fft',
        
    ],
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    noarchive=False,
    optimize=0,
)

pyz = PYZ(a.pure)

exe = EXE(
    pyz,
    a.scripts,
    a.binaries,
    a.datas,
    [],
    name='run_py',
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    upx_exclude=[],
    runtime_tmpdir=None,
    console=True,
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
)

and write in terminal:

pyinstaller NAME_SPEC_FILE.spec