Browse Source

first working version of the standalone app \o/

master
Holger Frey 9 years ago
parent
commit
604601fc56
  1. 1
      README.md
  2. 5
      array2xls/__init__.py
  3. 6
      array2xls/gui.py
  4. 1
      array2xls/inout.py
  5. BIN
      gift.ico
  6. 3
      hook-openpyxl.py
  7. 13
      pyins.bat
  8. 3
      run_array2xls.py
  9. 111
      setup.py

1
README.md

@ -0,0 +1 @@ @@ -0,0 +1 @@
Array Data to Excel Files

5
array2xls/__init__.py

@ -1,6 +1,9 @@ @@ -1,6 +1,9 @@
import tkinter as tk
import pandas # just for pyinstaller
import gui
from . import gui
__version__ = '0.0.1'
def run():
root = tk.Tk()

6
array2xls/gui.py

@ -4,8 +4,8 @@ import tkinter.ttk as ttk @@ -4,8 +4,8 @@ import tkinter.ttk as ttk
from tkinter import filedialog
import pandas
import validators
import inout
from . import validators
from . import inout
APP_STATE_1 = 'no valid files selected'
APP_STATE_2 = 'no valid fields selected'
@ -58,7 +58,7 @@ class FieldPanel(tk.Frame): @@ -58,7 +58,7 @@ class FieldPanel(tk.Frame):
self.is_single = tk.BooleanVar()
self.is_single.set(True)
self.rbtn_single = tk.Radiobutton(
self, text='single excel files', variable=self.is_single, value=True, command=self.disable_listbox)
self, text='seperate excel files', variable=self.is_single, value=True, command=self.disable_listbox)
self.rbtn_combine = tk.Radiobutton(
self, text='one combined excel file', variable=self.is_single, value=False, command=self.enable_listbox)
self.rbtn_single.pack(anchor=tk.W)

1
array2xls/inout.py

@ -2,7 +2,6 @@ import os @@ -2,7 +2,6 @@ import os
import re
import pandas
import validators
RE_NATURAL_SORT = re.compile('([0-9]+)')

BIN
gift.ico

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

3
hook-openpyxl.py

@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
from PyInstaller.utils.hooks import collect_data_files
datas = collect_data_files('openpyxl', True)

13
pyins.bat

@ -0,0 +1,13 @@ @@ -0,0 +1,13 @@
pyinstaller ^
-y ^
--additional-hooks-dir=. ^
--hidden-import=packaging ^
--hidden-import=packaging.version ^
--hidden-import=packaging.specifiers ^
--hidden-import=packaging.requirements ^
--hidden-import=openpyxl ^
-w ^
--onefile ^
--name array2xls ^
--icon gift.ico ^
run_array2xls.py

3
run_array2xls.py

@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
import array2xls
array2xls.run()

111
setup.py

@ -0,0 +1,111 @@ @@ -0,0 +1,111 @@
"""setup module for the array2xls package
derived from https://github.com/pypa/sampleproject
"""
# Always prefer setuptools over distutils
from setuptools import setup, find_packages
# To use a consistent encoding
import codecs
import os
# regular expressions for version string parsing from __init___.py
import re
import io
here = os.path.abspath(os.path.dirname(__file__))
# Get the long description from the README file
with codecs.open(os.path.join(here, 'README.md'), encoding='utf-8') as f:
long_description = f.read()
# version string parsing from __init___.py
# see https://packaging.python.org/en/latest/single_source_version/
def read(*names, **kwargs):
with io.open(
os.path.join(os.path.dirname(__file__), *names),
encoding=kwargs.get("encoding", "utf8")
) as fp:
return fp.read()
def find_version(*file_paths):
version_file = read(*file_paths)
version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]",
version_file, re.M)
if version_match:
return version_match.group(1)
raise RuntimeError("Unable to find version string in __init__.py")
setup(
name='array2xls',
# Versions should comply with PEP440. For a discussion on single-sourcing
# the version across setup.py and the project code, see
# https://packaging.python.org/en/latest/single_source_version.html
version=find_version('array2xls', '__init__.py'),
description='small gui app converting array data to excel files',
long_description=long_description,
# The project's main homepage.
# url='https://github.com/holgi/gitdict',
# Author details
author='Holger Frey',
author_email='frey@imtek.de',
# Choose your license
license='Simplified BSD License',
# See https://pypi.python.org/pypi?%3Aaction=list_classifiers
classifiers=[
# How mature is this project? Common values are
# 3 - Alpha
# 4 - Beta
# 5 - Production/Stable
'Development Status :: 3 - Alpha',
# Indicate who your project is intended for
'Intended Audience :: Science/Research',
'Topic :: Scientific/Engineering :: Information Analysis',
# Pick your license as you wish (should match "license" above)
'License :: OSI Approved :: BSD License',
# Specify the Python versions you support here. In particular, ensure
# that you indicate whether you support Python 2, Python 3 or both.
'Programming Language :: Python :: 3.5',
],
# What does your project relate to?
keywords='microarray',
# You can just specify the packages manually here if your project is
# simple. Or you can use find_packages().
packages=find_packages(exclude=['tests', 'docs']),
# Alternatively, if you want to distribute just a my_module.py, uncomment
# this:
# py_modules=["my_module"],
# List run-time dependencies here. These will be installed by pip when
# your project is installed. For an analysis of "install_requires" vs pip's
# requirements files see:
# https://packaging.python.org/en/latest/requirements.html
install_requires=[
'pandas',
'openpyxl',
'packaging'
],
# List additional groups of dependencies here (e.g. development
# dependencies). You can install these using the following syntax,
# for example:
# $ pip install -e .[dev,test]
# extras_require={
# 'test': ['pytest'],
# },
)
Loading…
Cancel
Save