diff --git a/demo/plotEDFFile.py b/demo/plotEDFFile.py index 7cfae39..2cc06db 100644 --- a/demo/plotEDFFile.py +++ b/demo/plotEDFFile.py @@ -1,12 +1,9 @@ #!/usr/bin/env python import numpy as np - -import pyedflib - - from stacklineplot import stackplot +import pyedflib if __name__ == '__main__': f = pyedflib.data.test_generator() diff --git a/demo/readEDFFile.py b/demo/readEDFFile.py index e770b8c..37415fe 100644 --- a/demo/readEDFFile.py +++ b/demo/readEDFFile.py @@ -1,11 +1,11 @@ #!/usr/bin/env python import os + import numpy as np import pyedflib - if __name__ == '__main__': f = pyedflib.data.test_generator() print("\nlibrary version: %s" % pyedflib.version.version) diff --git a/demo/stacklineplot.py b/demo/stacklineplot.py index d6626f9..4df7706 100644 --- a/demo/stacklineplot.py +++ b/demo/stacklineplot.py @@ -2,8 +2,8 @@ # uses line collections (might actually be from pbrain example) # clm -import numpy as np import matplotlib.pyplot as plt +import numpy as np from matplotlib.collections import LineCollection diff --git a/demo/streamingEDFFile.py b/demo/streamingEDFFile.py index d709161..e4845bc 100644 --- a/demo/streamingEDFFile.py +++ b/demo/streamingEDFFile.py @@ -1,12 +1,15 @@ #!/usr/bin/env python -import numpy as np -import matplotlib.pyplot as plt -import matplotlib.animation as animation import time -import pyedflib + +import matplotlib.animation as animation +import matplotlib.pyplot as plt +import numpy as np from stacklineplot import stackplot_t +import pyedflib + + def animate(frame): global offset for i in np.arange(n): diff --git a/demo/writeEDFFile.py b/demo/writeEDFFile.py index 2fbcd9f..1f21425 100644 --- a/demo/writeEDFFile.py +++ b/demo/writeEDFFile.py @@ -1,8 +1,10 @@ # Copyright (c) 2016 Holger Nahrstaedt import os + import numpy as np from scipy import signal + import pyedflib # signal label/waveform amplitude f sf diff --git a/doc/source/conf.py b/doc/source/conf.py index f09445e..b478635 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -9,10 +9,10 @@ # # All configuration values have a default; values that are commented out # serve to show the default. -import re import datetime -import jinja2.filters +import re +import jinja2.filters import numpy as np # FIXME: doctests need the str/repr formatting used in Numpy < 1.14. @@ -64,6 +64,7 @@ # # The short X.Y version. import pyedflib + version = re.sub(r'\.dev0+.*$', r'.dev', pyedflib.__version__) release = pyedflib.__version__ diff --git a/pyedflib/__init__.py b/pyedflib/__init__.py index 60cb97b..bdadadb 100644 --- a/pyedflib/__init__.py +++ b/pyedflib/__init__.py @@ -6,12 +6,7 @@ # # See LICENSE for license details. -from ._extensions._pyedflib import * -from .edfwriter import * -from .edfreader import * -from . import highlevel - -from . import data +from numpy.testing import Tester from pyedflib.version import version as __version__ diff --git a/pyedflib/_extensions/_pyedflib.pyx b/pyedflib/_extensions/_pyedflib.pyx index 136daf5..fa99b74 100644 --- a/pyedflib/_extensions/_pyedflib.pyx +++ b/pyedflib/_extensions/_pyedflib.pyx @@ -21,12 +21,18 @@ __all__ = ['lib_version', 'CyEdfReader', 'set_patientcode', 'set_starttime_subse import locale import os import warnings + cimport c_edf cimport cpython + import numpy as np + cimport numpy as np -from datetime import datetime, date + +from datetime import date, datetime + from cpython.version cimport PY_MAJOR_VERSION + include "edf.pxi" open_errors = { diff --git a/pyedflib/data/__init__.py b/pyedflib/data/__init__.py index ee10415..f52b313 100644 --- a/pyedflib/data/__init__.py +++ b/pyedflib/data/__init__.py @@ -1 +1 @@ -from ._readers import test_generator, get_generator_filename +from ._readers import get_generator_filename, test_generator diff --git a/pyedflib/data/_readers.py b/pyedflib/data/_readers.py index 7cb48a5..e38fcd1 100644 --- a/pyedflib/data/_readers.py +++ b/pyedflib/data/_readers.py @@ -1,6 +1,7 @@ import os import numpy as np + import pyedflib diff --git a/pyedflib/edfreader.py b/pyedflib/edfreader.py index 2730f62..193f108 100644 --- a/pyedflib/edfreader.py +++ b/pyedflib/edfreader.py @@ -6,6 +6,7 @@ # See LICENSE for license details. from datetime import datetime + import numpy as np from ._extensions._pyedflib import CyEdfReader diff --git a/pyedflib/edfwriter.py b/pyedflib/edfwriter.py index 6d99b83..3c971eb 100644 --- a/pyedflib/edfwriter.py +++ b/pyedflib/edfwriter.py @@ -5,18 +5,33 @@ # # See LICENSE for license details. -import numpy as np import sys import warnings -from datetime import datetime, date -from ._extensions._pyedflib import FILETYPE_EDFPLUS, FILETYPE_BDFPLUS, FILETYPE_BDF, FILETYPE_EDF -from ._extensions._pyedflib import open_file_writeonly, set_physical_maximum, set_patient_additional, set_digital_maximum -from ._extensions._pyedflib import set_birthdate, set_digital_minimum, set_technician, set_recording_additional, set_patientname -from ._extensions._pyedflib import set_patientcode, set_equipment, set_admincode, set_gender, set_datarecord_duration, set_number_of_annotation_signals -from ._extensions._pyedflib import set_startdatetime, set_starttime_subsecond, set_samples_per_record, set_physical_minimum, set_label, set_physical_dimension -from ._extensions._pyedflib import set_transducer, set_prefilter, write_physical_samples, close_file, write_annotation_latin1, write_annotation_utf8 -from ._extensions._pyedflib import blockwrite_physical_samples, write_errors, blockwrite_digital_samples, write_digital_short_samples, write_digital_samples, blockwrite_digital_short_samples +from datetime import date, datetime + +import numpy as np +from ._extensions._pyedflib import (FILETYPE_BDF, FILETYPE_BDFPLUS, + FILETYPE_EDF, FILETYPE_EDFPLUS, + blockwrite_digital_samples, + blockwrite_digital_short_samples, + blockwrite_physical_samples, close_file, + open_file_writeonly, set_admincode, + set_birthdate, set_datarecord_duration, + set_digital_maximum, set_digital_minimum, + set_equipment, set_gender, set_label, + set_number_of_annotation_signals, + set_patient_additional, set_patientcode, + set_patientname, set_physical_dimension, + set_physical_maximum, set_physical_minimum, + set_prefilter, set_recording_additional, + set_samples_per_record, set_startdatetime, + set_starttime_subsecond, set_technician, + set_transducer, write_annotation_latin1, + write_annotation_utf8, + write_digital_samples, + write_digital_short_samples, write_errors, + write_physical_samples) __all__ = ['EdfWriter'] diff --git a/pyedflib/highlevel.py b/pyedflib/highlevel.py index e884814..d47e2c8 100644 --- a/pyedflib/highlevel.py +++ b/pyedflib/highlevel.py @@ -20,11 +20,14 @@ """ import os -import numpy as np import warnings -import pyedflib from copy import deepcopy from datetime import datetime + +import numpy as np + +import pyedflib + # from . import EdfWriter # from . import EdfReader diff --git a/pyedflib/tests/test_doc.py b/pyedflib/tests/test_doc.py index 29b2e53..449104c 100644 --- a/pyedflib/tests/test_doc.py +++ b/pyedflib/tests/test_doc.py @@ -3,7 +3,6 @@ import os import unittest - pdir = os.path.pardir docs_base = os.path.abspath(os.path.join(os.path.dirname(__file__), pdir, pdir, "doc", "source")) diff --git a/pyedflib/tests/test_edfreader.py b/pyedflib/tests/test_edfreader.py index f1be587..d107e92 100644 --- a/pyedflib/tests/test_edfreader.py +++ b/pyedflib/tests/test_edfreader.py @@ -1,16 +1,18 @@ # Copyright (c) 2019 - 2020 Simon Kern # Copyright (c) 2015 Holger Nahrstaedt -import os import gc -import numpy as np -from datetime import datetime +import os # from numpy.testing import (assert_raises, run_module_suite, # assert_equal, assert_allclose, assert_almost_equal) import unittest +from datetime import datetime + +import numpy as np + import pyedflib -from pyedflib.edfwriter import EdfWriter from pyedflib.edfreader import EdfReader +from pyedflib.edfwriter import EdfWriter class TestEdfReader(unittest.TestCase): diff --git a/pyedflib/tests/test_edfwriter.py b/pyedflib/tests/test_edfwriter.py index ad8456a..0f56558 100644 --- a/pyedflib/tests/test_edfwriter.py +++ b/pyedflib/tests/test_edfwriter.py @@ -1,16 +1,18 @@ # Copyright (c) 2019 - 2023 Simon Kern # Copyright (c) 2015 Holger Nahrstaedt -import os import gc -import numpy as np +import os # from numpy.testing import (assert_raises, run_module_suite, # assert_equal, assert_allclose, assert_almost_equal) import unittest +from datetime import date, datetime + +import numpy as np + import pyedflib -from pyedflib.edfwriter import EdfWriter, ChannelDoesNotExist, WrongInputSize from pyedflib.edfreader import EdfReader -from datetime import datetime, date +from pyedflib.edfwriter import ChannelDoesNotExist, EdfWriter, WrongInputSize class TestEdfWriter(unittest.TestCase): diff --git a/pyedflib/tests/test_highlevel.py b/pyedflib/tests/test_highlevel.py index aaf527a..be4435c 100644 --- a/pyedflib/tests/test_highlevel.py +++ b/pyedflib/tests/test_highlevel.py @@ -1,17 +1,21 @@ # Copyright (c) 2019 - 2020 Simon Kern # Copyright (c) 2015 Holger Nahrstaedt -import os, sys -import shutil import gc -import numpy as np +import os +import shutil +import sys # from numpy.testing import (assert_raises, run_module_suite, # assert_equal, assert_allclose, assert_almost_equal) import unittest +from datetime import date, datetime + +import numpy as np + from pyedflib import highlevel -from pyedflib.edfwriter import EdfWriter from pyedflib.edfreader import EdfReader -from datetime import datetime, date +from pyedflib.edfwriter import EdfWriter + class TestHighLevel(unittest.TestCase): diff --git a/setup.py b/setup.py index ea2d495..2c9cbd2 100644 --- a/setup.py +++ b/setup.py @@ -1,13 +1,13 @@ #!/usr/bin/env python import os -import sys import subprocess -import setuptools +import sys +from distutils.sysconfig import get_python_inc from functools import partial -from setuptools import setup, Extension -from distutils.sysconfig import get_python_inc +import setuptools +from setuptools import Extension, setup try: from Cython.Build import cythonize @@ -213,6 +213,8 @@ def write_version_py(filename='pyedflib/version.py'): ] from setuptools.command.develop import develop + + class develop_build_clib(develop): """Ugly monkeypatching to get clib to build for development installs See coverage comment above for why we don't just let libraries be built diff --git a/util/authors.py b/util/authors.py index 90451ae..7e31c02 100644 --- a/util/authors.py +++ b/util/authors.py @@ -13,13 +13,11 @@ """ # Author: Pauli Virtanen . This script is in the public domain. +import collections +import io import optparse -import re -import sys import os -import io import subprocess -import collections stdout_b = sys.stdout.buffer MAILMAP_FILE = os.path.join(os.path.dirname(__file__), "..", ".mailmap") diff --git a/util/gh_lists.py b/util/gh_lists.py index 786ef8f..e483ea5 100644 --- a/util/gh_lists.py +++ b/util/gh_lists.py @@ -4,16 +4,15 @@ Functions for Github API requests. """ +import argparse +import collections +import json import os import re import sys -import json -import collections -import argparse from urllib2 import urlopen - Issue = collections.namedtuple('Issue', ('id', 'title', 'url')) diff --git a/util/refguide_check.py b/util/refguide_check.py index fc932cc..0652be4 100644 --- a/util/refguide_check.py +++ b/util/refguide_check.py @@ -22,26 +22,27 @@ $ python refguide_check.py --check_docs optimize """ -import sys -import os -import re import copy -import inspect -import warnings import doctest -import tempfile +import glob +import inspect import io -import docutils.core -from docutils.parsers.rst import directives +import os +import re import shutil -import glob -from doctest import NORMALIZE_WHITESPACE, ELLIPSIS, IGNORE_EXCEPTION_DETAIL +import sys +import tempfile +import warnings from argparse import ArgumentParser -import numpy as np +from doctest import ELLIPSIS, IGNORE_EXCEPTION_DETAIL, NORMALIZE_WHITESPACE +import docutils.core +import numpy as np +from docutils.parsers.rst import directives # sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', 'doc', # 'sphinxext')) from numpydoc.docscrape_sphinx import get_doc_object + # Remove sphinx directives that don't run without Sphinx environment directives._directives.pop('versionadded', None) directives._directives.pop('versionchanged', None)