Mnemosyne: efficient learning with powerful digital flash-cards.

Overview

Mnemosyne: Optimized Flashcards and Research Project

Mnemosyne is:

  • a free, open-source, spaced-repetition flashcard program that helps you learn as efficiently as possible.
  • a research project into the nature of long-term memory. If you like, you can help out and upload anomynous data about your learning process (this feature is off by default).

Important features include:

  • Bi-directional syncing between several devices
  • Clients for Windows/Mac/Linux and Android
  • Flashcards with rich content (images, video, audio)
  • Support for Google text-to-speech and Google translate
  • Powerful card types
  • Flexible card browser and card selection
  • Visualization to illustrate your learning process
  • Extensive plugin architecture and external scripting
  • Different learning schedulers
  • Webserver for review through browser (does not implement any security features so far)
  • Cramming scheduler to review cards without affecting the regular scheduer
  • Core library that allows you to easily create your own front-end.

You can find a more detailed explanation of the features on the webpage, as well as the general documentation.

If you just want to download the latest Mnemosyne release as a regular user, please see the Download section. If you are interested in running and changing the latest code, please read on.

Installation of the development version and hacking

We use the git version control system and Github to coordinate the development. Please use a search engine to find out how to install git on your operating system. If you are new to git and github, there are many tutorials available on the web. For example, this interactive tutorial. See also section working locally with the code and sharing your changes for some info about git and Github.

About the code base

To get an overview of how all the different bits of the library fit together, see the documentation in the code at mnemosyne/libmnemosyne/docs/build/html/index.html. In order to keep the code looking uniform, please following the standard Python style guides PEP8 and PEP257.

Running the development code

You can find instructions for Windows here. The following instructions are valid for Linux and Mac (if you use homebrew or some other package manager).

Runtime requirements

To start working on Mnemosyne, you need at least the following software.

  • Python 3.5 or later
  • PyQt 5.6 or later, including QtWebEngineWidgets.
  • Matplotlib
  • Easyinstall
  • cheroot 5 or later
  • Webob 1.4 or later
  • Pillow
  • gTTS for Google text-to-speech
  • googletrans for Google translate support
  • For Latex support: the latex and dvipng commands must be available (e.g., TeXLive on Linux, MacTeX on Mac, and MikTeX on Windows). On Arch based distributions, you'll need texlive-core package too.
  • For building the docs: sphinx (If you get sphinx-related errors, try installing sphinx as root)
  • For running the tests: nose

You can either run a development version of Mnemosyne by using your system-wide Python installation, or by using a virtual environment with virtualenv. If your distribution provides and packages all necessary libraries in a recent enough version, using the system-wide Python install is probably easier and the recommended way.

Using the system-wide python installation

First, install all dependencies with your distribution's package manager. Then, run make build-all-deps, followed by make from the top-level mnemosyne directory. This will generate all the needed auxiliary files and start Mnemosyne with a separate datadir under dot_mnemosyne2. If you want to use mnemosyne interactively from within a python shell, run python from the top-level mnemosyne directory. You can check if the correct local version was imported by running import mnemosyne; print(mnemosyne.__file__).

Using a local python installation

If your distribution does not provide all required libraries, or if the libraries are too old, create a virtual environment in the top-level directory (virtualenv venv), activate it (source venv/bin/activate) and install all the required dependencies with pip install. Then, follow the steps of the previous paragraph.

Running the test suite

You can always run the test suite:

make test

or:

python3 -m nose --exe tests

Single tests can be run like this:

python3 -m nose --exe tests/<file_name>.py:<class_name>:<method_name>

Nose captures stdout by default. Use the -s switch if you want to print output during the test run.

You can increase the verbosity level with the -v switch.

Add --pdb to the command line to automatically drop into the debugger on errors and failures. If you want to drop into the debugger before a failure, edit the test and add the following code at the exact spot where you want the debugger to be started:

from nose.tools import set_trace; set_trace()

System-wide installation from source

For testing the development version it is not necessary to do a system-wide installation. If you want to do so anyway, here are the instructions.

Linux

Follow the installation instructions from above (install the dependencies, get the source code - either by cloning it from github, or by downloading and extracting the .tar.gz archive). Then, run the following command from within the top-level directory of the repository (which is also the location of this README.md file):

sudo python setup.py install

Depending on your setup, you might need to replace python with python3. To test the installation, change to any other directory and run mnemosyne. For example:

cd ~
mnemosyne

If you run into the issue of non-latin characters not displaying on statistic plots, install ttf-mscorefonts-installer and regenerate the font cache of matplotlib.

Mac

  • Download and install Homebrew (see http://brew.sh)
  • Open the Terminal.
  • Make sure you are using the latest version of Homebrew:
brew update
  • Install dependencies for Mnemosyne.
brew install python qt mplayer
brew cask install xquartz # needed for mplayer dylibs
  • For Mnemosyne 2.7.3, we used Python 3.7.9 and Qt 5.15. To confirm you're using the correct versions:
python --version
pip --version
  • If the versions are not correct, andy ou need to edit a Homebrew dependency, you can use these commands:
brew uninstall <package-name>
brew edit <package-name>
# Example: replace the file with the contents of https://raw.githubusercontent.com/Homebrew/homebrew-core/e76ed3606c8008d2b8d9636a7e4e6f62cfeb6120/Formula/python3.rb and save it
brew install <package-name>
brew pin <package-name>
  • Install the python dependencies for Mnemosyne, using a python virtual environment to isolate python dependencies.
  • Note for Mnemosyne 2.7.3, we used PyQt5 5.15 and PyInstaller 4.0
pip install virtualenv
virtualenv venv
source venv/bin/activate
pip install webob tornado matplotlib numpy sip pillow cheroot googletrans gtts pyopengl

# install development version of pyinstaller to ensure we get https://github.com/pyinstaller/pyinstaller/issues/5004
pip install -U https://github.com/pyinstaller/pyinstaller/archive/develop.zip

# run this command and inspect the output to confirm you're using the correct versions
pip install pyqt5 pyqtwebengine
  • Build it (while still using the python virtual environment):
make clean
make macos
  • Test the new application (back up your data directory first!):
open dist/Mnemosyne.app
  • Optionally drag and drop this new app to /Applications.

Git and Github info

Working locally with the code

If you want to hack on Mnemosyne and propose your changes for merging later ('pull request'), first create an account on, or log into, Github. Then, fork the project on Github. You now have your own copy of the Mnemosyne repository on Github.

To work with the code, you need to clone your personal Mnemosyne fork on Github fork to your local machine. It's best to setup ssh for Github, but you don't have to. Change to your working directory on the terminal and then clone your repository of Mnemosyne (in this example without ssh):

git clone https://github.com/<your-username>/mnemosyne.git

Let's also make it easy to track the official Mnemosyne repository:

git remote add upstream https://github.com/mnemosyne-proj/mnemosyne.git

It is best to create your own branches for your work:

git checkout -b <branch name>

Whenever you want, you can commit your changes:

git status
git add <files to add>
git commit -v

Sharing your changes

At some point you may want to share your changes with everyone. Before you do so, you should check make sure that you didn't introduce new test failures. Then, you should check if changes were made to the original Mnemosyne repository on Github. Your private fork on Github is not automatically updated with these changes. You can get the most recent changes like this:

git fetch upstream
git checkout master
git merge upstream/master

If there are new changes, your repository now looks like this (each number symbolises a commit):

your local master branch:  ---1-2-3-4'-5'-6'-7'-8' (new changes from upstream)
                                  |
your local feature branch:        |-4-5-6 (your changes)

Before you push your branch, you should rebase it on master. Rebasing takes all the changes in your branch (in the figure: 4-5-6) and tries to apply them on top of the master branch, so that we end up with a linear history:

your local master branch:  ---1-2-3-4'-5'-6'-7'-8' (new changes from upstream)
                                                |
your local feature branch:                      |-4-5-6 (your changes)

Rebase like this:

git checkout <branch name>
git rebase master

Follow the instructions (git status gives additional information). Once you've successfully rebased your branch, push it to your Github account (we use --force, because we want to overwrite the existing branch on our private Github account):

git push origin --force <branch name>

To create a pull request for your changes, go to the Mnemosyne project page on Github and click on the pull request tab. Click on 'New pull request' and follow the instructions.

Finally, some more background on the whole workflow can be found here.

Comments
  • Web client - sound is not played

    Web client - sound is not played

    Hello :-)

    When I use the web client and click the play button, I hear no sound. The web server runs on Windows 11 and the client on an Android smartphone. What could be the problem? Regards J.

    opened by jooseef 21
  • update the ubuntu package

    update the ubuntu package

    https://launchpad.net/ubuntu/artful/+source/mnemosyne

    ubuntu currently provides version 2.4. There are some important additions in 2.5 and 2.6 for high-resolution screens, so it would be great if 2.6 were packaged instead.

    Thanks :)

    opened by iambumblehead 16
  • Mnemosyne just thrashed my drives

    Mnemosyne just thrashed my drives

    Description

    ~3 days ago I wanted to give mnemosyne a try, so I installed the package from the Arch Linux AUR. I changed one or two settings, but then I had to leave, so I left mnemosyne open without having created any cards.

    Today, I noticed that my PC was responding slowly, so I decided to investigate. According to iotop, mnemosyne was still open and was writing to my NVMe (root) drive at ~300 MB/s. I immediately killed the process. Unfortunately, I didn't think to take a screenshot of iotop at the time, or run strace.

    After doing some investigation (see Debug Info, below), it turned out that since the last reboot, ~49.73 TB had been written to my NVMe drive and ~550 GB had been written to one of my HDD drives. Since my PC has been up for ~14 days, I cannot attribute all of this to mnemosyne (I can attribute at least ~150 GB of the data written to the HDD to other programs). However, it still appears that mnemosyne wrote tens of terabytes to my near-unused NVMe drive, using up ~1/4 of its rated write endurance in the process. For reference, prior to this, I had written <5 TB total to the drive over the past year.

    Attempting to open mnemosyne now gives the following error:

    An unexpected error has occurred.
    Please forward the following info to the developers:
    
    Traceback (innermost last):
      File "/usr/bin/mnemosyne", line 262, in <module>
        debug_file=options.debug_file)
      File "/usr/lib/python3.7/site-packages/mnemosyne/libmnemosyne/__init__.py", line 193, in initialise                                               
        self.activate_components()
      File "/usr/lib/python3.7/site-packages/mnemosyne/libmnemosyne/__init__.py", line 282, in activate_components                                      
        self.component_manager.current(component).activate()
      File "/usr/lib/python3.7/site-packages/mnemosyne/libmnemosyne/logger.py", line 23, in activate                                                    
        self.archive_old_log()
      File "/usr/lib/python3.7/site-packages/mnemosyne/libmnemosyne/logger.py", line 192, in archive_old_log                                            
        f.write(l.encode("utf-8"))
      File "/usr/lib/python3.7/bz2.py", line 241, in write
        compressed = self._compressor.compress(data)
     KeyboardInterrupt
    

    I've decided to open an issue to attempt to resolve this so no one else experiences this. If any further debug information is required, let me know and I will provide it at the next opportunity. Quite frankly, I'm furious right now and not in the mood to debug this further at the current moment.

    Debug Info

    • uname -a
    Linux sputnik 4.18.16-arch1-1-ARCH #1 SMP PREEMPT Sat Oct 20 22:06:45 UTC 2018 x86_64 GNU/Linux
    
    • pacman -Q | grep mnemosyne
    mnemosyne 2.6.1-1
    
    • uptime
     02:08:39 up 14 days, 27 min, 16 users,  load average: 1.73, 2.11, 2.37
    
    • df -T
    Filesystem                Type     1K-blocks      Used Available Use% Mounted on
    dev                       devtmpfs   5804948         0   5804948   0% /dev
    run                       tmpfs     16336184      1012  16335172   1% /run
    /dev/mapper/vgroup-lvroot ext4     234147832  38469808 183714224  18% /
    tmpfs                     tmpfs     16336184    262628  16073556   2% /dev/shm
    tmpfs                     tmpfs     16336184         0  16336184   0% /sys/fs/cgroup
    tmpfs                     tmpfs     16336184    407456  15928728   3% /tmp
    /dev/nvme0n1p1            vfat       1046512     65692    980820   7% /boot
    tank01                    zfs       25908352         0  25908352   0% /mnt/tank01
    tank01/vm                 zfs       25908452        96  25908356   1% /mnt/tank01/vm
    tank01/vm/windows         zfs       74854680  48946324  25908356  66% /mnt/tank01/vm/windows
    tank02                    zfs      603361536 112892672 490468864  19% /mnt/tank02
    tank02/tmp                zfs      665136128 174667776 490468352  27% /mnt/tank02/tmp
    tmpfs                     tmpfs      3267236        32   3267204   1% /run/user/1000
    
    • awk '/nv/ {print $3"\t"$10 / 2 / 1024}' /proc/diskstats
    nvme0n1 4.97347e+07
    nvme0n1p1       56.9048
    nvme0n1p2       4.97347e+07
    
    • awk '/sd/ {print $3"\t"$10 / 2 / 1024}' /proc/diskstats
    sda     550965
    sda1    550965
    sdb     1659.93
    sdb1    1659.93
    
    • sudo smartctl -A /dev/nvme0n1
    ...
    === START OF SMART DATA SECTION ===
    SMART/Health Information (NVMe Log 0x02, NSID 0x1)
    Critical Warning:                   0x00
    Temperature:                        38 Celsius
    Available Spare:                    100%
    Available Spare Threshold:          10%
    Percentage Used:                    18%
    Data Units Read:                    3,204,202 [1.64 TB]
    Data Units Written:                 107,146,899 [54.8 TB]
    Host Read Commands:                 47,591,909
    Host Write Commands:                176,159,535
    Controller Busy Time:               2,202
    Power Cycles:                       450
    Power On Hours:                     738
    Unsafe Shutdowns:                   32
    Media and Data Integrity Errors:    0
    Error Information Log Entries:      26
    Warning  Comp. Temperature Time:    0
    Critical Comp. Temperature Time:    0
    Temperature Sensor 1:               38 Celsius
    Temperature Sensor 2:               44 Celsius
    
    opened by indiv0 12
  • Segfault in Debian

    Segfault in Debian "stretch"

    Hello, I have just installed Debian "Stretch" and I cannot run mnemosyne.

    When I remove .local/share/mnemosyne and .config/mnemosyne

    $ mnemosyne
    libpng warning: iCCP: known incorrect sRGB profile
    libpng warning: iCCP: known incorrect sRGB profile
    libpng warning: iCCP: known incorrect sRGB profile
    libpng warning: iCCP: known incorrect sRGB profile
    libpng warning: iCCP: known incorrect sRGB profile
    QIODevice::write (QProcess): device not open
    Erreur de segmentation
    

    If I run it again I get :

    1. A dialog box with message "Unable to load file, query failed"
    2. I close the dialog and another one is raised with "If you are using a USB key, refer to the instructions on the website so as not to be affected by drive letter changes."
    3. Then it asks me to select a db file. I select the one it has just created and that brings me back to step 1

    Can you suggest a workaround or something to try?

    thanks Christophe - a longtime Mnemosyne user

    opened by cmealares 12
  • Remember how many cards we've learned today even after re-opening the app

    Remember how many cards we've learned today even after re-opening the app

    Rationale

    When we close the Mnemosyne application and re-open it, it won't remember the number of the already memorized cards. In other words, it won't warn you if you've already learned 15 or more words.

    Implementation

    This PR aims to fix this issue and re-construct the self._fact_ids_memorised from the logs which are not that hard.

    We can fetch all the newly learned cards (same query as in the statistics) and all the forgotten but learned cards today. Combining the two, we can get the number of learned cards today.

    New features

    • The already memorized cards are re-constructed from the logs
    • It only warns once per day
    • Fixed long-time flaky python3.7 test

    Any comments are welcome.

    opened by woohgit 11
  • Mnemosyne 2.5: ImportError: cannot import name 'QtWebEngineWidgets'

    Mnemosyne 2.5: ImportError: cannot import name 'QtWebEngineWidgets'

    Hallo, when entering mnemosyne I get the following error message: ---------message---------------- An unexpected error has occurred. Please forward the following info to the developers:

    Traceback (innermost last): File "/usr/local/bin/mnemosyne", line 4, in import('pkg_resources').run_script('Mnemosyne==2.5', 'mnemosyne') File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 748, in run_script self.require(requires)[0].run_script(script_name, ns) File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 1517, in run_script exec(code, namespace, namespace) File "/usr/local/lib/python3.6/dist-packages/Mnemosyne-2.5-py3.6.egg/EGG-INFO/scripts/mnemosyne", line 147, in from PyQt5 import QtWebEngineWidgets # Needs to happen first for some reason. ImportError: cannot import name 'QtWebEngineWidgets' ----------message-------------

    My system is Linux xxxx 4.13.0-1-amd64 #1 SMP Debian 4.13.4-2 (2017-10-15) x86_64 GNU/Linux

    How can I solve the problem?

    Thank you very much.

    opened by grberta 11
  • Migration to Github (except translations)

    Migration to Github (except translations)

    Relevant ML threads: recent, last year Before migration:

    • [x] Test integration with launchpad's translation service
      • Problem: qastaging.launchpad.net and staging.launchpad.net don't import the branch properly. Which is not surprising, because they don't really work to begin with. But the import works fine here, so I don't think it will be a problem. Marking as solved.
    • [x] Run tests on Windows automatically with Appveyor
      • [x] Initial setup
      • [x] Fix for latex on windows: install miktex.portable with chocolatey and cache it
      • [x] Fix test hang. (Reason: running dvipng resulted in the miktex installer being triggered, because zhmetrics wasn't installed.)
      • [x] Optional: find out how to install zhmetrics from local file. Can be done, but package is only 35kB bit, so not worth it.
      • [x] Find out reason for excessive test failures
    • [x] Create a top-level README.md file
    • [x] Prepare website udpate, but don't update the website yet (see website_update.md):
      • [x] Bug reporting on Github
      • [x] Hacking: Github + git workflow
      • [x] Translation on launchpad

    Steps immediately before conversion:

    • [x] Create Pull Request on launchpad for changes that I've accumulated in the github branch here on Github
      • [x] Wait until the (revised) pull request is merged
    • [x] Ask Peter to merge his experimental branch into Launchpad master
    • [x] Optional, but nice: Make tests work

    Actual conversion:

    • [x] Convert bzr -> git using the steps outlined in my email (don't forget to remove the additional file mentioned by Peter)
    • [x] Push the converted, new 'productive' repository to Github
    • [x] Update the launchpad page:
      • [x] Close bug tracker
      • [x] Migrate open bug reports
      • [x] Switch translation service to git -> bzr import from Github
      • [ ] Optional: create a git mirror on Launchpad
      • [x] Update description: only used for translation, please report bugs and get the code on Github (link)
    • [x] Update website with the pre-prepared changes.
    • [x] Update project description here on Github to reflect that it is the main repository.
    meta 
    opened by jmehne 11
  • latex complains about

    latex complains about "Undefined control sequence."

    From logs when mnemosyne is run in command line and I tried to sync (it later fails, though likely for a different reason)

    Command `latex -interaction=nonstopmode tmp.tex` failed with rc=1
    Command output:
    This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=latex)
     restricted \write18 enabled.
    entering extended mode
    (./tmp.tex
    LaTeX2e <2020-02-02> patch level 2
    L3 programming layer <2020-02-14>
    (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
    Document Class: article 2019/12/20 v1.4l Standard LaTeX document class
    (/usr/share/texlive/texmf-dist/tex/latex/base/size12.clo))
    (/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-dvips.def)
    No file tmp.aux.
    ! Undefined control sequence.
    <recently read> \mathcalc 
                              
    l.5 $\mathcalc
                  {O}(log n)$
    [1] (./tmp.aux) )
    (see the transcript file for additional information)
    Output written on tmp.dvi (1 page, 300 bytes).
    Transcript written on tmp.log.
    
    Command input:
    
    \documentclass[12pt]{article}
    \pagestyle{empty}
    \begin{document}
    $\mathcalc{O}(log n)$
    \end{document}
    
    opened by matkoniecz 9
  • Database not Saving Automatically

    Database not Saving Automatically

    Mnemosyne is stuck on giving me the same cards at startup. When I rate the first few cards, exit, and reopen Mnemosyne, none of the progress gets saved. It found out that general settings saves and editing cards saves but not (de)activating cards or reviewing cards. There is no error message or anything.

    I just found out that pressing "File->Save" works, but I have to press "Save" each time before I exit, and it won't save automatically. So it's not automatically saving when I exit Mnemosyne. I've tried restarting my computer to no avail. Is there some way I can fix this other than reinstalling Mnemosyne?

    I recorded a video of my error but found that I can't post it in here, so I'll just explain what I did in the video. The first time I opened Mnemsoyne, I did a few cards, exited, and reopened to the first card it gave me. Then I did some cards, saved it via "File->Save", exited, and reopened with everything saved. Finally, I did some cards, saved it (File->Save), and did a few more cards. When I reopened it the third time, only the cards that I did before I pressed "Save" were saved. Apparently Mnemosyne isn't automatically saving before I exit.

    opened by Elliot-TS 9
  • UTF8 encoding error when syncing Android to Windows

    UTF8 encoding error when syncing Android to Windows

    Hope it's Ok to post this here.

    image That is what I got when syncing my library between 2.1 Android version and 2.7 on PC. Can't push the remote version to PC due to the above. Never had this problem before & pushing cards from PC to Android was not a problem.

    udcc3 seems to be this Is there a way to search for the problematic chars in the database? I don't know how much of it is in plaintext.

    My cards are mix of English, Polish, Spanish, with some TeX too. My currently synced DB is 5,000+ cards and quite old.

    opened by wwiecek 8
  • latex in macOS

    latex in macOS

    I installed MiKTeX in order to view latex content in flashcards but I also had to make two other changes to finally make it work: 1-. In the .../Library/Mnemosyne/config.py file I changed the path for the latex and dvipng variables to /usr/local/bin/latex (and dvipng), which was the path where MikTeX installed the packages. 2-. In this same file, the latex command supposedly uses -interactiononstopmode option, but the right option is: -interaction=nonstopmode

    opened by atophys 8
  • LaTeX and other small images display too large on web browser

    LaTeX and other small images display too large on web browser

    After my pull request https://github.com/mnemosyne-proj/mnemosyne/pull/225, there was the unintended side effect of making expanding small images, such as LaTeX images, to the size of the screen. The change needs to be adjusted so that images larger than the screen are shrunk while images smaller than the screen do not change.

    I am planning to resolve it this weekend, I just wanted to make sure that it was logged in case I don't get around to it for a few weeks.

    opened by gbear605 0
  • Webserver Review Problem: Data salad after displaying the HTML source code

    Webserver Review Problem: Data salad after displaying the HTML source code

    Hello! o/ I discovered a problem that can be reproduced like this: Show question from Card A, then show the answer and rate the answer. Show question from card B. Show the HTML source of question B. But the HTML source code shows the question of the next card C (should be question B of course). Now show answer B. The answer is card C's question and card C's answer. Card B is evaluated and removed from the not-memorized-stack even though the answer was not shown.

    https://user-images.githubusercontent.com/108878285/186002311-485bd564-9116-4151-9fa0-44ff9e7a5a9e.mp4 https://drive.google.com/file/d/1QpacIv24UQ0LaQvNtqTfL589SirlFu8a/view?usp=sharing

    The reason could be: The web server "thinks" that card B should be evaluated after form = cgi.FieldStorage(fp=environ["wsgi.input"], environ=environ) was called. I have no idea how to quickly fix the problem. Unfortunately I'm not familiar with the code structures of Mnemosyne.

    opened by jooseef 3
  • Feature Request: Support tls for sync

    Feature Request: Support tls for sync

    It would be a nice feature, if the sync function would support tls. This would allow to sync the database secure over the internet.

    The required changes does not sound very complex. The client can simple use tls and the server can be revers proxy over a web-server by the user.

    opened by LuckyTurtleDev 1
This is a fork of the BakeTool with some improvements that I did to have better workflow.

blender-bake-tool This is a fork of the BakeTool with some improvements that I did to have better workflow. 99.99% of work was done by BakeTool team.

Acvarium 3 Oct 04, 2022
Exactly what it sounds like, which is something rad

EyeWitnessTheFitness External recon got ya down? That scan prevention system preventing you from enumerating web pages? Well look no further, I have t

Ellis Springe 18 Dec 31, 2022
Python bilgilerimi eğlenceli bir şekilde hatırlamak ve daha da geliştirmek için The Big Book of Small Python Projects isimli bir kitap almıştım.

Python bilgilerimi eğlenceli bir şekilde hatırlamak ve daha da geliştirmek için The Big Book of Small Python Projects isimli bir kitap almıştım. Bu repo kitaptaki örnek programları çalıştığım oyun al

Burak Selim Senyurt 22 Oct 26, 2022
Discovering local read-level DNA methylation patterns and DNA methylation heterogeneity in intermediately methylated regions

Discovering local read-level DNA methylation patterns and DNA methylation heterogeneity in intermediately methylated regions

1 Jan 11, 2022
This suite consists of two different scripts, made to automate attacks against NoSQL databases.

NoSQL-Attack-Suite This suite consists of two different scripts, made to automate attacks against NoSQL databases. The first one looks for a NoSQL Aut

16 Dec 26, 2022
一个IDA脚本,可以检测出哈希算法(无论是否魔改常数)并生成frida hook 代码。

findhash 在哈希算法上,比Findcrypt更好的检测工具,同时生成Frida hook代码。 使用方法 把findhash.xml和findhash.py扔到ida plugins目录下 ida -edit-plugin-findhash 试图解决的问题 哈希函数的初始化魔数被修改 想快速

266 Dec 29, 2022
Utility/Raiding selfbot made by Shell and Roover.

Utility/Raiding selfbot made by Shell and Roover. We are open to suggestions and ideas.

Shell 2 Dec 08, 2021
El_Binario - A converter for Binary, Decimal, Hexadecimal and Octal numbers

El_Binario El_Binario es un conversor de números Binarios, Decimales, Hexadecima

2 Jan 28, 2022
A general illumination correction method for optical microscopy.

CIDRE About CIDRE is a retrospective illumination correction method for optical microscopy. It is designed to correct collections of images by buildin

Kevin Smith 31 Sep 07, 2022
a simple proof system I made to learn math without any mistakes

math_up a simple proof system I made to learn math without any mistakes 0. Short Introduction test yourself, enjoy your math! math_up is an NBG-based,

양현우 5 Jun 04, 2021
PythonKafkaCompose is an upgrade of the amazing work done in liveMaps

PythonKafkaCompose is an upgrade of the amazing work done in liveMaps It is a simple project composed by: an instance of Kafka a Py

5 Jun 19, 2022
Exercicios de Python do Curso Em Video, apresentado por Gustavo Guanabara.

Exercicios Curso Em Video de Python Exercicios de Python do Curso Em Video, apresentado por Gustavo Guanabara. OBS.: Na data de postagem deste repo já

Lorenzo Ribeiro Varalo 0 Oct 21, 2021
Python Programmma DarkMap.py

DarkMap Python Programmma DarkMap.py O'rganish va rasmlarni ko'riosh https://drive.google.com/drive/folders/1l1zybs_0Zy9z_trZYz5R72WrwsE6mFOh?usp=shar

Og'abek 0 May 06, 2022
A simple spyware in python.

Spyware-Python- Dependencies: Python 3.x OpenCV PyAutoGUI PyMongo (for mongodb connection) Flask (Web Server) Ngrok (helps us push our fla

Abubakar 3 Sep 07, 2022
Basic-Killfeed - A simple DayZ Console Killfeed

Basic-Killfeed A simple DayZ Console Killfeed. Setup Install Python Version 3.10

Nick 1 Apr 25, 2022
Convert-Decimal-to-Binary-Octal-and-Hexadecimal

Convert-Decimal-to-Binary-Octal-and-Hexadecimal We have a number in a decimal number, and we have to convert it into a binary, octal, and hexadecimal

Maanyu M 2 Oct 08, 2021
ChieriBot,词云API版,用于统计群友说过的怪话

wordCloud_API 词云API版,用于统计群友说过的怪话,基于wordCloud 消息储存在mysql数据库中.数据表结构见table.sql 为啥要做成API:这玩意太吃性能了,如果和Bot放在同一个服务器,可能会影响到bot的正常运行 你服务器性能够用的话就当我在放屁 依赖包 pip i

chinosk 7 Mar 20, 2022
Old versions of Deadcord that are problematic or used as reference.

⚠️ Unmaintained and broken. We have decided to release the old version of Deadcord before our v1.0 rewrite. (which will be equiped with much more feat

Galaxzy 1 Feb 10, 2022
This repository contains all the data analytics projects that I've worked on in python.

93_Python_Data_Analytics_Projects This repository contains all the data analytics projects that I've worked on in python. No. Name 01 001_Cervical_Can

Milaan Parmar / Милан пармар / _米兰 帕尔马 267 Jan 06, 2023
Artificial intelligence based on 5-dimensional quantum selection

Deep Thought An artificial intelligence based on 5-dimensional quantum selection. Algorithm The payload Make an random bit array (e.g. 1101...) Conver

Larry Holst 3 Dec 14, 2022