ghostop14 / sparrow-wifi Goto Github PK
View Code? Open in Web Editor NEWNext-Gen GUI-based WiFi and Bluetooth Analyzer for Linux
License: GNU General Public License v3.0
Next-Gen GUI-based WiFi and Bluetooth Analyzer for Linux
License: GNU General Public License v3.0
An idea I thought I’d pitch at you as well. Similar to Df-aggregator’s use of cesium, I wondered if you’d be interested (I can’t code yet) in making a way for the remote agent part of sparrow WiFi to be added onto cesium while also being controlled by the server, etc.
For example, DF-Aggregator is an app I guess you’d say that overlays/interacts with cesium either online or offline. I’ve built in both sparrow WiFi and an offline cesium setup to DragonOS. Right now DFA reaches out to the IPs of devices running KerberosSDr software and pulls in the xml formatted info and displays it on cesium. In this case it’s in the form of either stationary or mobile sensors with lines of bearing drawn on the map.
I was picturing another sparrow WiFi python script that could do something similar with the remote agents locations and all the wireless devices being entered into a database similar to DFA and then shown on the map. This could also allow multiple remote agents to feed one database or even maybe be controlled via the overlay/app created for cesium.
Exception in thread Thread-3:
Traceback (most recent call last):
File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
self.run()
File "/home/ya/sparrow-wifi-master/sparrowhackrf.py", line 63, in run
hackrfsweepProc = subprocess.Popen(params,stdout=subprocess.PIPE,stderr=subprocess.DEVNULL) # , shell=True)
File "/usr/lib/python3.5/subprocess.py", line 947, in init
restore_signals, start_new_session)
File "/usr/lib/python3.5/subprocess.py", line 1551, in _execute_child
raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] 没有那个文件或目录: 'hackrf_sweep'
Hi @ghostop14,
Is there a way to contact you outside of github?
I have an 802.11ac access point on channel 165 that is 20MHz wide. It has multiple SSIDs, sparrow-wifi detects some of the SSID's correctly as 20MHz, and others incorrectly as 40MHz wide.
Hello,
I use a different tool to scan WiFi networks on Linux, but I have found sparrow-wifi to be useful for sorting and visualizing the RSSI data by importing from CSV. My tool gathers channel utilization and station count but sparrow-wifi has no columns for this. Would you consider adding these columns, or a way to add custom columns?
Thanks.
I am getting the error "Error downloading and saving file." from the GUI on a remote base station when downloading the log file on the RPI0w. below is the agent output
pi@raspberrypi:~/sparrow-wifi $ sudo ./sparrowwifiagent.py --sendannounce --recordinterface=wlan1
Found bluetooth hardware. Bluetooth capabilities enabled.
Ubertooth hardware and/or software not found. Ubertooth capabilities disabled.
[08/16/2018 06:43:07] Local gpsd Found. Providing GPS coordinates when synchronized.
Sending agent announcements on port 8020.
Capturing on wlan1 and writing wifi to ./recordings/raspberrypi_wifi_2018-08-16_06_43_25.csv
and writing bluetooth to ./recordings/raspberrypi_bt_2018-08-16_06_43_25.csv
[08/16/2018 06:43:25] Starting Sparrow-wifi agent on port 8020
IPs removed - - [16/Aug/2018 07:17:28] "GET /system/getrecordings HTTP/1.1" 200 -
IPs removed - - [16/Aug/2018 07:17:29] "GET /gps/status HTTP/1.1" 200 -
IPs removed - - [16/Aug/2018 07:17:34] "GET /system/getrecording/raspberrypi_w
Hi! I read an article about your tool this morning, I am excited to try it. I noticed that you link to the old version of blue_hydra, and significant development has been done since the release in your readme. The new code can be found here : https://github.com/ZeroChaos-/blue_hydra
I have no idea how you are using it, but I recently added a file based json API for another project which you may like. Just @ me if you need support.
More of a suggestion than anything else. I’d be nice if there was any way to build a sparrow WiFi remote agent for openwrt similar to what’s available for the newer kismet. Essentially kismet remote can push the WiFi and Bluetooth info to a kismet server. It’s a small footprint piece that runs on openwrt. I realize this would probably take a lot of changes on your end since most of what you’re doing seems to be python.. but maybe there’s an agent you could come up with after taking a look at what kismet does. The advantage you have is that your agent currently supports sending gps to the server, kismet remote does not (except static configured gps).
Possibly using the monitor mode interface created for sparrow WiFi would be really awesome. Actually, now I’m curious if aircrack would work. You’d also have like three SDRs going at one time with the Uber tooth hackrf and bladerf.
https://www.nuand.com/bladerf-wiphy/
There is some recent submits to kismet that allow it to work. I’m waiting to get hands on an xa9. Excited to test.
Wasn’t sure where to put requests but I thought one or both of the following options would be great
Multiple pi agents to one Sparrow WiFi server.
Agent optionally somehow compatible with kismet api.
running sudo ./sparrow-wifi.py
Traceback (most recent call last):
File "./sparrow-wifi.py", line 37, in
from PyQt5.QtChart import QChart, QChartView, QLineSeries, QValueAxis
ImportError: No module named 'PyQt5.QtChart'
command lines
sudo apt-get install python3-pip gpsd gpsd-clients
sudo pip3 install QScintilla PyQtChart gps3 dronekit manuf python-dateutil
have been done
I installed the cloned directory and followed instructions to install python3, qt5 and qtchart on a Dell XPS-13 laptop running Ubuntu 18.10. The following error message was returned when I ran "sudo pip3 install QScintilla PyQtChart gps3 dronekit manuf python-dateutil numpy matplotlib"
The directory '/home/doug/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/doug/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
After that everything seemed to install just fine. But when I run "sudo ./sparrow-wifi.py" it returns
No protocol specified
qt.qpa.screen: QXcbConnection: Could not connect to display :0
Could not connect to any X display.
Is it the error installing pip3 causing this problem? Do I need to figure out the - H argument for sudo? I am a long time linux user but not real good at the commend line. Any help is appreciated.
Is there any way this could be served via web server vs on the desktop? I think a headless setup would be nice.
Would love if the instructions were in the readme as I wanted to run this project on Arch Linux but tracking down the dependencies was annoying.
git clone https://github.com/ghostop14/sparrow-wifi
cd sparrow-wifi
virtualenv ~/sparrow
source ~/sparrow/bin/activate
pip install gps3 python-dateutil requests pyqt5 pyqtchart numpy matplotlib
sudo python sparrow-wifi.py
Do you see any addition of UHD support for SDR's in the future?
Hello, I am running Ubuntu 18.04 and this tool is fantastic! I have an Ubertooth One and it works perfectly with it.
Is there any way to donate to the project?
If not, do you have any documentation you need to be created? Or other non dev work?
Thanks!
hello
my name is morpheuslord
i am a hacker and i use mostly windows and pentestbox as my main tool so i wanted to ask if u can remake this for windows
thank you
morpheuslord
I am trying to run sparrow-wifi on an SBC without any wireless interface other than a HackRF, however this causes a crash when trying to load them. I haven't tested locally, but at least on a remote agent, the entire program will crash if interfaces
comes up empty due to returning as NoneType (Line 3489).
Bandwidth could be confused with 802.11 data rates and speeds (which would eventually be nice to have in the tool as well). But the industry term for this is really channel width. It should probably be renamed. See here: http://www.revolutionwifi.net/revolutionwifi/2013/03/80211ac-channel-planning.html
Hello,
I have successfully installed sparrow-wifi and most of the dependencies into my Ubuntu 18.04 base docker image. I can bring up the GUI, however, when tasking I get the error below. Do you know what I am doing wrong or n additional package I may need?
Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner self.run() File "sparrow-wifi.py", line 499, in run retCode, errString, wirelessNetworks = WirelessEngine.scanForNetworks(self.interface) File "/opt/truearrow/6.3/sparrow-wifi/wirelessengine.py", line 596, in scanForNetworks result = subprocess.run(['iw', 'dev', interfaceName, 'scan'], stdout=subprocess.PIPE,stderr=subprocess.STDOUT) File "/usr/lib/python3.6/subprocess.py", line 423, in run with Popen(*popenargs, **kwargs) as process: File "/usr/lib/python3.6/subprocess.py", line 729, in __init__ restore_signals, start_new_session) File "/usr/lib/python3.6/subprocess.py", line 1364, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'iw': 'iw'
In addition to the error, I also see the "HackRF sweep options" greyed out under the "Spectrum"
Thank you.
python3 give this error
/usr/lib/python3.8/subprocess.py:844: RuntimeWarning: line buffering (buffering=1) isn't supported in binary mode, the default buffer size will be used
self.stdout = io.open(c2pread, 'rb', bufsize)
when trying to scan bluetooth
Will you accept donations or payment to prioritize and implement feature requests? Let me know.
ImportError: DLL load failed while importing QtChart: The specified module could not be found
@ghostop14
What is a good email to reach you at?
--stryngs
When attempting to run sparrow-wifi.py I receive the following message:
Traceback (most recent call last):
Traceback (most recent call last):
File "./sparrow-wifi.py", line 37, in <module>
from PyQt5.QtChart import QChart, QChartView, QLineSeries, QValueAxis
ImportError: /usr/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5Charts.so.5: undefined symbol: _ZdlPvm, version Qt_5
Version info:
Hi ghostop14, thank you very much for your great contribution first!
The problem I met cover the title.
When I run "python3 sparrow-wifi.py", I got the information:
"QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' "
then the interface is activated, but can't scan any AP.
the program runs at Ubuntu 14.04, and kernel version: low-latency 3.19.0-61
Besides, do you want to add the FTM result of each AP based on 802.11mc?
If I want to do some incremental development on your project, can you offer any good advice?
:)
thanks a lot!
Hey,
I was trying to setup sparrow-wifi. Everythingthing worked fine, Alfa-Adapter is in monitor-mode and so on, but after I started a scan the scan stopped immediately and I got this error. I have already tried to reinstall the driver. Anybody else experiencing the same problem? I am using Kali 2021.1
Please create a way to Filter by SSID. Right now I can scan, export to csv, grep for the SSID I care about, then import and view. It would be much easier if there were a field where I could type the SSID name and filter by only the SSID I care about.
Hi guys !!
I'm getting an error when tries to run the "sudo ./sparrowwifiagent.py"
Traceback (most recent call last):
File "./sparrowwifiagent.py", line 32, in
from dateutil import parser
ModuleNotFoundError: No module named 'dateutil'
I've installed the Dateutils, but the scritp dont run.
Can you help me ?!
Regards;
Luiz
Traceback (most recent call last):
File "./sparrow-wifi.py", line 33, in
from PyQt5.QtWidgets import QApplication, QMainWindow, QDesktopWidget, QGraphicsSimpleTextItem, QFrame, QGraphicsView
ImportError: /usr/local/lib/python3.5/dist-packages/PyQt5/QtCore.so: undefined symbol: PySlice_AdjustIndices
Running sparrow-wifi on Ubuntu through virtualbox. USB device is connected through virtualbox and 'hackrf_info' finds my device. Nothing seen in drop down box for local interface.
Hi,
I tried installing the dependencies for sparrow-wifi, but installing dronekit fails (see log).
Looking at the dronekit website it seems that dronekit currently does not build on python 3, maybe due to some MAVProxy incompatibility?
Is there a trick to get sparrow running without the drone component in the meantime? Any help appreciated.
ex47@k ~/sparrow-wifi-master $ sudo ./sparrow-wifi.py
Password:
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Traceback (most recent call last):
File "./sparrow-wifi.py", line 3670, in <module>
mainWin = mainWindow()
File "./sparrow-wifi.py", line 668, in __init__
self.checkForBluetooth()
File "./sparrow-wifi.py", line 635, in checkForBluetooth
numBtAdapters = len(SparrowBluetooth.getBluetoothInterfaces())
File "/home/ex47/sparrow-wifi-master/sparrowbluetooth.py", line 970, in getBluetoothInterfaces
result = subprocess.run(['hcitool', 'dev'], stdout=subprocess.PIPE,stderr=subprocess.DEVNULL)
File "/usr/lib/python3.6/subprocess.py", line 403, in run
with Popen(*popenargs, **kwargs) as process:
File "/usr/lib/python3.6/subprocess.py", line 709, in __init__
restore_signals, start_new_session)
File "/usr/lib/python3.6/subprocess.py", line 1344, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'hcitool': 'hcitool'
And it seems like it's missing for good now:
chrippa/ds4drv#123
peplin/pygatt#112
root@Microknoppix:/home/knoppix# sudo pip3 install QScintilla PyQtChart gps3 dronekit manuf python-dateutil numpy matplotlib
Collecting QScintilla
Could not find a version that satisfies the requirement QScintilla (from versions: )
No matching distribution found for QScintilla
Running on Knoppix 8.2 64bit
I am not sure if i am using the arguments improperly but i can not get the sparrow agent to continually scan; It only provides telemetry if i use the one click one scan method. The agent is on a RPI Zero Wireless using Raspbian Stretch. Any thoughts?
Hi,
I tried to install sparrow-wifi on two different laptops following the install instructions. On both machines using the latest Kali and fully updated I get the same error as I run the python script.
kali:~/sparrow-wifi$ sudo ./sparrow-wifi.py
Traceback (most recent call last):
File "./sparrow-wifi.py", line 37, in
from PyQt5.QtChart import QChart, QChartView, QLineSeries, QValueAxis
ImportError: /lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.15' not found (required by /usr/local/lib/python3.8/dist-packages/PyQt5/QtChart.abi3.so)
The libQt5Core.so.5 is present: kali:/lib/x86_64-linux-gnu$ ls libQt5Core.so.5
libQt5Core.so.5
How can I fix this issue?
File "sparrow-wifi.py", line 420, in
class QHoverLineSeries(QLineSeries):
NameError: name 'QLineSeries' is not defined
I can't seem to get any devices to show up in Sparrow for bluetooth.
If I run bluetoothctl with scan on I get a stream of devices found.
[bluetooth]# scan on Discovery started [CHG] Controller AC:67:5D:CA:AE:3A Discovering: yes [NEW] Device A4:C1:38:32:50:FB ihoment_H6142_50FB [NEW] Device 5C:ED:D2:AC:4C:FB 5C-ED-D2-AC-4C-FB
But with sparrow I cannot.
/opt/sparrow-wifi master sudo hcitool lescan 1 ✘ 19:18:34 Set scan parameters failed: Input/output error
Kali Linux version: Linux kali 5.9.0-kali5-amd64 #1 SMP Debian 5.9.15-1kali1 (2020-12-18) x86_64 GNU/Linux
pip version: pip 20.3.3 from /home/kali/.local/lib/python3.9/site-packages/pip (python 3.9)
qtchart installed: python3-pyqt5.qtchart is already the newest version (5.15.2+dfsg-1).
But when I run sudo pip3 install QScintilla gps3 dronekit manuf python-dateutil numpy matplotlib
, it gave error message.
sudo pip3 install QScintilla gps3 dronekit manuf python-dateutil numpy matplotlib
Requirement already satisfied: python-dateutil in /usr/local/lib/python3.9/site-packages (2.8.1)
Collecting dronekit
Using cached dronekit-2.9.2-py3-none-any.whl (56 kB)
Collecting monotonic>=1.3
Using cached monotonic-1.5-py2.py3-none-any.whl (5.3 kB)
Collecting pymavlink>=2.2.20
Using cached pymavlink-2.4.14.tar.gz (4.1 MB)
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python3.9 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-c4b35r3n/pymavlink_c4c59a4282224373856aa74c091c960f/setup.py'"'"'; __file__='"'"'/tmp/pip-install-c4b35r3n/pymavlink_c4c59a4282224373856aa74c091c960f/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-52ukk2lr
cwd: /tmp/pip-install-c4b35r3n/pymavlink_c4c59a4282224373856aa74c091c960f/
Complete output (44 lines):
WARNING: The wheel package is not available.
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python3.9 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-wheel-a40v92ub/future_03194d7bcb2d4a139c9900febcd1ae20/setup.py'"'"'; __file__='"'"'/tmp/pip-wheel-a40v92ub/future_03194d7bcb2d4a139c9900febcd1ae20/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-mvb26vmx
cwd: /tmp/pip-wheel-a40v92ub/future_03194d7bcb2d4a139c9900febcd1ae20/
Complete output (6 lines):
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
ERROR: Failed building wheel for future
ERROR: Failed to build one or more wheels
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/setuptools/installer.py", line 128, in fetch_build_egg
subprocess.check_call(cmd)
File "/usr/local/lib/python3.9/subprocess.py", line 373, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/local/bin/python3.9', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmpuco1m1xx', '--quiet', 'future']' returned non-zero exit status 1.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-c4b35r3n/pymavlink_c4c59a4282224373856aa74c091c960f/setup.py", line 109, in <module>
setup (name = 'pymavlink',
File "/usr/local/lib/python3.9/site-packages/setuptools/__init__.py", line 164, in setup
_install_setup_requires(attrs)
File "/usr/local/lib/python3.9/site-packages/setuptools/__init__.py", line 159, in _install_setup_requires
dist.fetch_build_eggs(dist.setup_requires)
File "/usr/local/lib/python3.9/site-packages/setuptools/dist.py", line 699, in fetch_build_eggs
resolved_dists = pkg_resources.working_set.resolve(
File "/usr/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 779, in resolve
dist = best[req.key] = env.best_match(
File "/usr/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 1064, in best_match
return self.obtain(req, installer)
File "/usr/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 1076, in obtain
return installer(requirement)
File "/usr/local/lib/python3.9/site-packages/setuptools/dist.py", line 758, in fetch_build_egg
return fetch_build_egg(self, req)
File "/usr/local/lib/python3.9/site-packages/setuptools/installer.py", line 130, in fetch_build_egg
raise DistutilsError(str(e)) from e
distutils.errors.DistutilsError: Command '['/usr/local/bin/python3.9', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmpuco1m1xx', '--quiet', 'future']' returned non-zero exit status 1.
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Please help me to fix this. Thanks!
When I run "sudo ./sparrow-wifi.py" with the HackRF connected I get the following error:
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "./sparrowhackrf.py", line 63, in run
hackrfsweepProc = subprocess.Popen(params,stdout=subprocess.PIPE,stderr=subprocess.DEVNULL) # , shell=True)
File "/usr/lib/python3.8/subprocess.py", line 854, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.8/subprocess.py", line 1702, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'hackrf_sweep'
Spectrum Length: 0
Test complete.
while installing the second command line I got this error:
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "", line 1, in
File "/usr/lib/python3.6/tokenize.py", line 452, in open
buffer = _builtin_open(filename, 'rb')
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-build-vvvpeu8r/PyQtChart/setup.py'
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-vvvpeu8r/PyQtChart/
Any ideas on how to pass over it?
Thank you
Followed instructions.
visit myIP:\8020
Server: 192.168.1.111 - - [05/Dec/2017 14:10:30] "GET / HTTP/1.1" 404
Browser : Bad request
python3 sparrow-wifi.py
Traceback (most recent call last):
File "sparrow-wifi.py", line 37, in
from PyQt5.QtChart import QChart, QChartView, QLineSeries, QValueAxis
ModuleNotFoundError: No module named 'PyQt5.QtChart'
sudo pip3 install QScintilla PyQtChart gps3 dronekit manuf python-dateutil numpy matplotlib
Requirement already satisfied: QScintilla in /usr/local/lib/python3.8/dist-packages (2.11.4)
Requirement already satisfied: PyQtChart in /usr/local/lib/python3.8/dist-packages (5.14.0)
It says PyQtChart is there.
I get this error: File "sparrow-wifi.py", line 37, in
from PyQt5.QtChart import QChart, QChartView, QLineSeries, QValueAxis
ImportError: No module named 'PyQt5.QtChart'
I'm using debian stretch. I followed the read me. I'm running sparrow-wifi.py as sudoer.
In testing, it appears not possible to run the sparrow elasticsearch agent when there’s no Bluetooth present either by design or by mistake. Since it mentions using a Bluetooth index it would appear the intent is meant to run it with or without Bluetooth for WiFi only operation.
However, when starting without a btindex it complains one is missing, but then when one is specified and no Bluetooth is present it then tells you it can run because there’s no Bluetooth capability.
Is there a way to use this with OSX? I've got a HackRf and I've been looking for a decent tool like this
Could the scanning data be auto-exported to CSV so that it can be sorted/filtered as that funtion is not available in the GUI? Right now this has to be done manually, but I have a need to look at the sorted/filtered data continuously, or at least at regular intervals.
I get this error when running sparrow-wifi.py. I finished the installation in readme.md and have installed qt5.
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized.
Available platform plugins are: eglfs, linuxfb ...
Aborted ( core dumped )
OS:Kali2017.3
error:
root@:~/sparrow-wifi# ./sparrow-wifi.py
Traceback (most recent call last):
File "./sparrow-wifi.py", line 37, in
from PyQt5.QtChart import QChart, QChartView, QLineSeries, QValueAxis
ModuleNotFoundError: No module named 'PyQt5.QtChart'
Hope to help me!!!thanks!
If this repository is no longer maintained how do we kick something off with it?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.