Giter Club home page Giter Club logo

pyspeedtest's Introduction

Linux build Known Vulnerabilities GitHub release Github All Releases

Python Internet Speed Test

This is a small, lightweight utility that tests the Internet connection at set intervals. I wrote it to prove to the people who manage my Internet that it's really bad. It takes periodic (or not-so-periodic) samples of your Internet speed. Statistics recorded are upload speed, download speed, ping time, and if something fails reason for failure.

Documentation can be found here

p.s. our easy-sharing link is tinyurl.com/mcnetspeed

Quick start

Download your appropriate executable from here, put it somewhere you'll remember, run it and click the Start button. If you want to make my life a bit better, before you click start, type in the Location field where you are (be descriptive, but brief. For example, here, I write "McVey 3rd north", not "404 Stanford Road, Grand Forks, ND 58202 ..."). After a little while, click the Stop button, and then the Upload button. Repeat until you don't want to anymore.

Windows users may receive SmartScreen warnings; click Run Anyways if it's available, if not, click More Info then it should show up. I promise this doesn't do anything bad.

What does it look like?

This (on Windows):

pyspeedtest's People

Contributors

mishaturnbull avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

pyspeedtest's Issues

Create analysis file button breaks with no data

What were you trying to do when the error occurred?

Run the analytics sub-program.

Did you get an error message? If so, what did it say?

Yes: list index out of range

Are you able to reproduce the problem? If so, how?

Click the Create analytics file button with no data collected.

Platform details:

Operating system: Windows
Version: Windows 10
Are you using the program:

  • From source, develop branch.

Is this the first time you've used (or attempted to use) the program? No.

  • If yes, is there a file called config.ini anywhere? Yes.

Any other details that may be relevant:

Does not occur when the program has speed data to analyse.

Makefile crashes on macOS

Platform: macOS X 10.12 x64
VM Host: Windows 10.10.0.16299
(Yes, it's virtualized on Windows, but the Mac seems to have no idea about it)

Running the makefile (only sometimes) results in the following error:

FakeMac:PySpeedMonitor misha$ sudo make
python src/dependencies.py
Running emergency dependency download routine
+++ pyspeedtest present: True
+++ urllib3 present: True
+++ tkinter present: True
rm -rf dist
rm src/*.pyc; 
rm: src/*.pyc: No such file or directory
make: [preclean] Error 1 (ignored)
rm -rf __pycache__
pyinstaller -F -y --specpath build --clean --hidden-import urllib3 --hidden-import pyspeedtest --windowed -n PySpeedTest_v1.6.0_mac src/gui.py
133 INFO: PyInstaller: 3.3.1
134 INFO: Python: 2.7.10
153 INFO: Platform: Darwin-16.0.0-x86_64-i386-64bit
163 INFO: wrote build/PySpeedTest_v1.6.0_mac.spec
333 INFO: UPX is not available.
334 INFO: Removing temporary files and cleaning cache in /Users/misha/Library/Application Support/pyinstaller
Traceback (most recent call last):
  File "/usr/local/bin/pyinstaller", line 9, in <module>
    load_entry_point('PyInstaller==3.3.1', 'console_scripts', 'pyinstaller')()
  File "/Library/Python/2.7/site-packages/PyInstaller-3.3.1-py2.7.egg/PyInstaller/__main__.py", line 94, in run
    run_build(pyi_config, spec_file, **vars(args))
  File "/Library/Python/2.7/site-packages/PyInstaller-3.3.1-py2.7.egg/PyInstaller/__main__.py", line 46, in run_build
    PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
  File "/Library/Python/2.7/site-packages/PyInstaller-3.3.1-py2.7.egg/PyInstaller/building/build_main.py", line 791, in main
    build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
  File "/Library/Python/2.7/site-packages/PyInstaller-3.3.1-py2.7.egg/PyInstaller/building/build_main.py", line 694, in build
    os.makedirs(pth)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 5] Input/output error: '/Volumes/VMware Shared Folders/PySpeedMonitor/dist'
make: *** [main] Error 1

The same errors happens running just make, without sudo.

Does not work on Macs

Multiple issues on OSx:

  • ImportError: Module TkMessageBox not found
  • Module pyspeedtest is not installed by default
  • Module requests is not installed by default
  • Module configparser in py3 is ConfigParser in py2
    • Py2's ConfigParser uses .get(option) instead of ...[option]
  • Module urllib3 is not installed by default
  • Auto-update downloads Windows .exe instead of appropriate zipball/tarball

App bundle does not launch on macOS

What were you trying to do when the error occurred?

Launch the program.

Did you get an error message? If so, what did it say?

No error message. The program opens very briefly then closes immediately.

Are you able to reproduce the problem? If so, how?

Yes -- launch the program.

Platform details:

Operating system: Mac virtual machine, hosted on Windows 10

Version: e.g. MacOS 10.12

Using the program as one file

Is this the first time you've used (or attempted to use) the program? Yes.

  • If yes, is there a file called config.ini anywhere? No.

Any other details that may be relevant:

The executable can be called from console via:

./PySpeedTest_v2.0.0_mac.app/Contents/MacOS/PySpeedTest_v2.0.0_mac

and will run fine. The file config.ini is created normally in this case. The bundle still will not launch after this has been done.

Auto-update throws SSL warnings at launch

What were you trying to do when the error occurred?

Start the program.

Did you get an error message? If so, what did it say?

Warning, not error:

c:\program files (x86)\python36\lib\site-packages\urllib3\connectionpool.py:858: 
InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is 
strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
  InsecureRequestWarning)

Are you able to reproduce the problem? If so, how?

Yes, launch the program.

Platform details:

Operating system: Windows
Version: e.g. Windows 10
Are you using the program: from source, fix-autoupdate branch

Is this the first time you've used (or attempted to use) the program? No.

  • If yes, is there a file called config.ini anywhere? Yes.

Any other details that may be relevant:

Seems to be given by the fact that SSL verification is not being done when going online to check for a version update.

Backup method for uploading data

Need a method to send data while server is offline/something is wrong.

  • Email account to send data to/from?
    • How protect login?
  • Upload to slightly less functional server?

Uploader fails on Windows

Fails with message:

Couldn't upload data!
Traceback: ('decoding str is not supported')

Win10, PySpeedMonitor_v0.5.0.exe

Does not run on Macs (2nd issue)

mac_run_this.command returns:

~ [username]/Downloads/PySpeedTest-0.5.0-beta/mac_run_this.command; exit;
-bash: /Users/[username]/PySeedTest-0.5.0-beta/mac_run_this.command: /usr/bin: bad interpreter: Permission denied
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
Deleting exired sessions...[x] completed.

Config storage breaks if updated

When main app is updated, if it expects changes to the config.ini file, the module settings.py will break. It attempts to read keys not in the file; and does not automatically extract it's emergency default because the file is still present.

Standards values entry fields linked together

In the config menu analytics section, if the Enable box is checked, entering data into any one of the standards fields results in it automatically appearing in the other two as well.

Auto-update does not detect new version

What were you trying to do when the error occurred?

No error - lack of new version popup window.

Did you get an error message? If so, what did it say?

No.

Are you able to reproduce the problem? If so, how?

Yes, it happens every time.

Platform details:

Operating system: Windows 10

Are you using the program:

  • One-file .exe

Is this the first time you've used (or attempted to use) the program? Yes.

  • If yes, is there a file called config.ini anywhere? Yes.

Any other details that may be relevant:

Tested using version 2.0.0 (..1 behind the current release) so it has a new version to find.

Unable to restart testing

  1. Start button is pressed. Speedtester thread starts normally.
  2. Stop button is pressed. Speedtester thread exits normally.
  3. Start button is pressed. Speedtester thread does not start, however, GUI does not crash.

Upload raises error in Python 2

Macs with default installation of Python 2.7.10 get the following error when clicking the "Upload" button:

Couldn't upload data!
Traceback: ('str() takes at most 1 argument (2 given)',)

Uploader silently throws IOError

When the speed_record.ilog file is nonexistent (immediately after first program start), if the Upload button is clicked, an IOError is silently thrown in the background and no indication of a failure is shown.

Maybe linked with issue #28?

Test platform:
Bodhi Linux, 4.13.0-32-generic Ubuntu base
Compiled executable
Python 2.7.12

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.