Welcome to Dragonfire’s documentation!¶
Dragonfire¶
the open-source virtual assistant for Ubuntu based Linux distributions

Special thanks to Jassu Ilama for the beautiful 3D modelling and material design of this avatar.
Dragonfire goes through these steps for each one of your commands, respectively:
- Search across the built-in commands and evaluate the algebraic expressions
- Try to Learn using Advanced NLP and Database Management Techniques
- Ask to Open-Domain Question Answering Engine (Searches Wikipedia for an answer)
- Respond using the Deep Conversation system, a seq2seq neural network trained with Cornell Movie-Dialogs Corpus
Dragonfire uses Mozilla DeepSpeech to understand your voice commands and Festival Speech Synthesis System to handle text-to-speech tasks.
Feel free to join our Gitter chat room. You can also directly talk with Dragonfire herself via her Twitter account.
Supported Environments¶
Installation¶
To run Dragonfire on a desktop Debian or Ubuntu system, either download the latest release (the .deb
file) and install as follows:
sudo dpkg -i dragonfire_1.1.0_amd64.deb
or clone the GitHub repository and run
sudo make install
in the repository directory.
To install the dependencies, run `sudo apt-get -f install right after the dpkg -i command. The installation will automatically download the pre-trained English model of Mozilla DeepSpeech (1.31 GB download size) and will place it under /usr/share/dragonfire/deepspeech/models directory. You can manually [download the model](https://github.com/mozilla/DeepSpeech/releases/download/v0.4.1/deepspeech-0.4.1-models.tar.gz) if you wish.</i></sup>`
If you want to run Dragonfire on a server, you should install the Docker image (which does not install the huge DeepSpeech model required for speech recognition):
docker pull dragoncomputer/dragonfire
Usage
¶
usage: dragonfire [-h] [-c] [-s] [-j] [-v] [-g] [--server API_KEY] [-p PORT]
[--version]
optional arguments:
-h, --help show this help message and exit
-c, --cli Command-line interface mode. Give commands to
Dragonfire via command-line inputs (keyboard) instead
of audio inputs (microphone).
-s, --silent Silent mode. Disable Text-to-Speech output. Dragonfire
won't generate any audio output.
-j, --headless Headless mode. Do not display an avatar animation on
the screen. Disable the female head model.
-v, --verbose Increase verbosity of log output.
-g, --gspeech Instead of using the default speech recognition
method(Mozilla DeepSpeech), use Google Speech
Recognition service. (more accurate results)
--server API_KEY Server mode. Disable any audio functionality, serve a
RESTful spaCy API and become a Twitter integrated
chatbot.
-p PORT, --port PORT Port number for server mode.
--version Display the version number of Dragonfire.
or with Docker: docker run dragonfire [-h] [-c] [-s] [-j] [-v] [-g] [--server API_KEY] [-p PORT]
or simply start from your Linux application launcher.
To activate Dragonfire say DRAGONFIRE or HEY or WAKE UP.
To deactivate her say GO TO SLEEP.
To silence her say ENOUGH or SHUT UP.
To kill her say GOODBYE or BYE BYE or SEE YOU LATER or CATCH YOU LATER.
warning: | Facing with a problem? Take a look at the Troubleshooting:hammer_and_wrench: section. |
---|
Built-in Commands¶
Dragonfire DEVLOG #3 - Built-in Commands
DRAGONFIRE | WAKE UP | HEY
GO TO SLEEP
ENOUGH | SHUT UP
WHO AM I | SAY MY NAME
MY TITLE IS LADY | I'M A LADY | I'M A WOMAN | I'M A GIRL
MY TITLE IS SIR | I'M A MAN | I'M A BOY | CALL ME *
WHAT IS YOUR NAME
WHAT IS YOUR GENDER
FILE MANAGER | OPEN FILES
OPEN (BROWSER | CHROME | FIREFOX)
PHOTOSHOP | PHOTO EDITOR
INKSCAPE | VECTOR GRAPHICS
VIDEO EDITOR
OPEN [CAMERA, CALENDAR, CALCULATOR, STEAM, BLENDER, WRITER, MATH, IMPRESS, DRAW, TERMINAL]
SOFTWARE CENTER
OFFICE SUITE
KEYBOARD *
ENTER | NEW TAB | SWITCH TAB | CLOSE | GO BACK | GO FORWARD
SCROLL LEFT | SCROLL RIGHT | SCROLL UP | SCROLL DOWN
PLAY | PAUSE | SPACEBAR
SHUT DOWN THE COMPUTER
GOODBYE | BYE BYE | SEE YOU LATER
(SEARCH|FIND) * (IN|ON|AT|USING) WIKIPEDIA
(SEARCH|FIND) * (IN|ON|AT|USING) YOUTUBE
(SEARCH|FIND) * (IN|ON|AT|USING) (GOOGLE|WEB)
(SEARCH IMAGES OF|FIND IMAGES OF|SEARCH|FIND) * (IN|ON|AT|USING) (GOOGLE|WEB|GOOGLE IMAGES|WEB IMAGES)
WHAT'S THE TEMPERATURE IN *
WHAT TIME IS IT
Open-Domain Question Answering (ODQA) examples¶
DeepPavlov SQuAD BERT model based, a reader for the Wikipedia articles that are retrieved from web, found by the subject
Conversation | Result |
---|---|
You: WHERE IS THE TIMES SQUARE |
|
Dragonfire: MIDTOWN MANHATTAN SECTION OF NEW YORK CITY |
True |
You: WHAT IS THE HEIGHT OF BURJ KHALIFA |
|
Dragonfire: 829.8 M |
True |
You: WHERE IS BURJ KHALIFA |
|
Dragonfire: DUBAI, UNITED ARAB EMIRATES |
True |
You: WHAT IS THE HEIGHT OF GREAT PYRAMID OF GIZA |
|
Dragonfire: 146.5 METRES |
True |
You: WHO IS PLAYING JON SNOW IN GAME OF THRONES |
|
Dragonfire: GEORGE R. R. MARTIN |
False |
You: WHAT IS THE ATOMIC NUMBER OF OXYGEN |
|
Dragonfire: 8 |
True |
You: WHAT IS THE LOWEST POINT IN THE OCEAN |
|
Dragonfire: TWO MILLION |
False |
You: WHAT IS THE OFFICIAL LANGUAGE OF JAPAN |
|
Dragonfire: NIPPON |
False |
You: WHAT IS THE REAL NAME OF IRON MAN |
|
Dragonfire: MARVEL COMICS |
False |
You: WHO IS THE CONQUEROR OF CONSTANTINOPLE |
|
Dragonfire: ECUMENICAL PATRIARCH OF CONSTANTINOPLE |
False |
You: WHEN DID FRENCH REVOLUTION HAPPENED |
|
Dragonfire: 1789 |
True |
You: WHAT IS THE CAPITAL OF GERMANY |
|
Dragonfire: BERLIN |
True |
You: WHAT IS THE LARGEST CITY OF TURKEY |
|
Dragonfire: ISTANBUL |
True |
You: WHAT IS THE NAME OF THE WORLD'S BEST UNIVERSITY |
|
*Dragonfire: ACADEMIC RANKING OF WORLD UNIVERSITIES |
False |
You: WHO INVENTED GENERAL RELATIVITY |
|
Dragonfire: ALBERT EINSTEIN |
True |
You: WHEN WAS UNITED NATIONS FORMED |
|
Dragonfire: AFTER WORLD WAR II |
True |
You: WHAT IS THE NAME OF THE WORLD'S LONGEST RIVER |
|
Dragonfire: THE NILE OR THE AMAZON |
True |
You: WHO WON THE EUROVISION IN 2019 |
|
Dragonfire: THE NETHERLANDS |
True |
You: WHICH ONE IS THE BLOODIEST WAR IN HUMAN HISTORY |
|
Dragonfire: NEOLITHIC ERA |
False |
You: WHO IS THE CREATOR OF LINUX |
|
Dragonfire: LINUS TORVALDS |
True |
Total Score: | 13/20 |
Deep Conversation examples¶
Supported Distributions: KDE neon, elementary OS and Ubuntu. All modern releases (Ubuntu 12.04 LTS and above) of these distributions are fully supported. Any other Ubuntu based distributions are partially supported.
Contribute¶
If you want to contribute to Dragonfire then please read this guide.
Troubleshooting¶
No sound is coming out of my computer?¶
If there is no sound coming from your speakers when you see Dragonfire: GOOD MORNING SIR
on your terminal or To activate say ‘Dragonfire!’ or ‘Wake Up!’ notification after you run Dragonfire with dragonfire
command then there are two possibilities causing this problem:
- Dragonfire’s audio output (ALSA plug-in [flite]: ALSA Playback) could be mapped to wrong audio device:

you can fix this either by changing it to correct device using the audio settings of your operating system or you can choose to use Phonon sudo apt-get install phonon
to configure your device priority:

- The problem could be related to missing
flite
package on your system. It should normally be installed on post-installation automatically but try to re-install it one more time with:
sudo apt-get update
sudo apt-get install flite
If flite
is missing in your distro’s repositories then download it and try to install it with sudo dpkg -i flite_2.0.0-release-1_amd64.deb
.
Dragonfire is not reacting to my voice?¶
- Since we migrated to Kaldi Speech Recognition Toolkit, Dragonfire’s speech recognition procedure runs fully on local.
- First of all, please make sure that Kaldi is compiled and installed under
/usr/share/kaldi
directory. If you suspect that Kaldi’s compilation failed on installation procedure then please clone the repositorygit clone https://github.com/DragonComputer/Dragonfire.git
and run install.sh script with eithersudo ./install.sh
orsudo bash install.sh
. Make sure that this block runs without any problem because it clones Kaldi under/usr/share/kaldi
and compiles it directory by directory. - If you are sure that Kaldi installation is OK then first run
export GST_PLUGIN_PATH=/usr/share/kaldi/src/gst-plugin
after that run decoder_test.py (python decoder_test.py
) to test the speech recognition. It will run two tests:- Microphone test so you will speak and it will recognize the speech.
- Audio file(located under
tests/ten_digits.wav
) test. The output should look like this:
INFO:decoder:recognize: Pushing EOS to pipeline
INFO:decoder:recognize: Got word: DRAGON
INFO:decoder:recognize: Got word: FIRE
INFO:decoder:recognize: Got word: <#s>
INFO:decoder:recognize: Pipeline received eos signal
INFO:decoder:recognize: Finishing request
['DRAGON', 'FIRE', '<#s>']
.INFO:decoder:testWav: Pipeline initialized
INFO:decoder:testWav: Connecting audio decoder
INFO:decoder:testWav: Connected audio decoder
INFO:decoder:testWav: Pushing EOS to pipeline
INFO:decoder:testWav: Got word: ONE
INFO:decoder:testWav: Got word: TWO
INFO:decoder:testWav: Got word: THREE
INFO:decoder:testWav: Got word: FOUR
INFO:decoder:testWav: Got word: FIVE
INFO:decoder:testWav: Got word: SIX
INFO:decoder:testWav: Got word: SEVEN
INFO:decoder:testWav: Got word: EIGHT
INFO:decoder:testWav: Got word: <#s>
INFO:decoder:testWav: Pipeline received eos signal
INFO:decoder:testWav: Finishing request
.
----------------------------------------------------------------------
Ran 2 tests in 23.039s
OK
- If you face with a problem in above test then most probably Dragonfire’s audio input (ALSA plug-in [python]: ALSA Capture) is mapped to wrong audio device:

you can fix this either by changing it to correct device using the audio settings of your operating system or you can choose to use Phonon sudo apt-get install phonon
to configure your device priority:

I got AttributeError: ‘NoneType’ object has no attribute ‘set_property’?¶
File "/usr/bin/dragonfire", line 11, in <module>
load_entry_point('dragonfire', 'console_scripts', 'dragonfire')()
File "/home/tardog/Dokumente/Spielweise/Dragonfire/dragonfire/__init__.py", line 544, in initiate
start(args)
File "/home/tardog/Dokumente/Spielweise/Dragonfire/dragonfire/__init__.py", line 60, in start
recognizer = KaldiRecognizer()
File "/home/tardog/Dokumente/Spielweise/Dragonfire/dragonfire/sr/kaldi.py", line 34, in __init__
self.decoder_pipeline = DecoderPipeline({"decoder" : decoder_conf})
File "/home/tardog/Dokumente/Spielweise/Dragonfire/dragonfire/sr/decoder.py", line 17, in __init__
self.create_pipeline(conf)
File "/home/tardog/Dokumente/Spielweise/Dragonfire/dragonfire/sr/decoder.py", line 47, in create_pipeline
self.asr.set_property(key, val)
AttributeError: 'NoneType' object has no attribute 'set_property'
If you got the above error then;
- either Kaldi installation has a problem so follow the instructions in Dragonfire is not reacting to my voice?
- or Kaldi installation is OK but somehow this line is not working so run
export GST_PLUGIN_PATH=/usr/share/kaldi/src/gst-plugin
before launching Dragonfire (in the same shell).
Dragonfire is understanding my commands but doing nothing?¶
Dragonfire starts on sleeping mode to do not disturb your acoustic environment. You need to activate her by saying DRAGONFIRE or HEY or WAKE UP to your microphone.
Dragonfire is unnecessarily jumping into real world conversation of mine?¶
Then you need to deactivate her by saying GO TO SLEEP.
Dragonfire confusing with her own voice?¶
Simply use your headphones:headphones: instead of the speakers:speaker: to listen Dragonfire or lower the volume of your speakers:speaker:.
Dragonfire started to read something but I don’t know how to stop her?¶
Then you need to silence her by saying ENOUGH OR SHUT UP.
I’m done with Dragonfire, how can I shut her down?¶
By saying GOODBYE or BYE BYE or SEE YOU LATER.
I’m not seeing any 3D female head model(avatar) on the screen?¶
If you did not run Dragonfire with --headless
option then you should be able to see the below avatar every time you hear a text-to-speech output.

Although, our C program that runs the avatar animation has not the best compatibility across the different desktop environments or window managers. For example; in Unity desktop environment, it flashes badly but in KDE Plasma 5, it runs pretty smooth.
Dragonfire calls me “Lady” but I’m a man?¶
Dragonfire analyzes your name that registered on the operating system to determine your gender. Sometimes she makes mistakes (mostly if your name is not an English name) and call you by your opposite gender. To fix this you can say MY TITLE IS SIR or I’M A MAN or I’M A BOY.
Dragonfire calls me “Sir” but I’m a woman?¶
Dragonfire analyzes your name that registered on the operating system to determine your gender. Sometimes she makes mistakes (mostly if your name is not an English name) and call you by your opposite gender. To fix this you can say MY TITLE IS LADY or I’M A LADY or I’M A WOMAN or I’M A GIRL.
I want to be called as something different?¶
Sure, there is a command for that. You can use CALL ME *
command to manipulate her form of address for you to anything you want. For example: CALL ME MASTER or CALL ME MY LORD or CALL ME MY FRIEND etc.
I’m saying FILE MANAGER but file manager is not opening?¶
Probably you don’t have any of the supported file manager software packages: dolphin
, pantheon-files
, nautilus
I’m saying WEB BROWSER but web browser is not opening?¶
Check the existence of sensible-browser
command. It’s a command that points out to your default web browser.
I’m saying PHOTO EDITOR but no software is opening?¶
Probably you don’t have GIMP installed on your system: sudo apt-get install gimp
I’m saying INKSCAPE but Inskcape is not opening?¶
Probably you don’t have Inkscape installed on your system: sudo apt-get install inkscape
I’m saying VIDEO EDITOR but no software is opening?¶
Probably you don’t have any of the supported video editor software packages: openshot
, lightworks
, kdenlive
Something went wrong on the installation, I’m not sure what?¶
This script will try to install dependencies for you. Run these commands, respectively:
git clone https://github.com/DragonComputer/Dragonfire.git
cd Dragonfire/
chmod +x install.sh
sudo ./install.sh
Dragonfire started to give me senseless answers?¶
Dragonfire’s learning is far from perfect so by the time, the conversations filled with incorrect information can lead her to wrong answers like THE SUN IS HOT AND COLD
. To fix this kind of situations you can always wipe out her memories about the subject by calling: FORGET ABOUT THE SUN
Learning feature is blocking my way to reach to Open-Domain Question Answering Engine?¶
Learning feature has a priority so if in the past, you said something like ALBERT EINSTEIN IS A PHYSICIST
then it will block your way when you asked anything about Albert Einstein. To fix this you should say: FORGET ABOUT ALBERT EINSTEIN
checkered_flag: | If none of the cases listed above are fitting to your situation then always consider to file an issue or visit our chat room on Gitter. |
---|
Contributing to Dragonfire¶
sparkles: | First off all, thanks for taking the time to contribute! :sparkles: |
---|
The following is a set of guidelines for contributing to Dragonfire an open source virtual assistant project, which is hosted in the Dragon Computer Organization on GitHub. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
Table Of Contents¶
Contributing to Dragonfire .. code-block:: guess
- [Table Of Contents](#table-of-contents)
Code of Conduct¶
This project and everyone participating in it is governed by the Dragonfire’s Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to mert.yildiran@bil.omu.edu.tr.
I don’t want to read this whole thing I just have a question!!!¶
Note: Please don’t file an issue to ask a question. You’ll get faster results by using the resources below.
We have an official chat room on Gitter where the community chimes in with helpful advice if you have questions.
Step 1: Set Up Git¶
If you haven’t yet, you should first set up Git. Don’t forget to set up authentication to GitHub from Git as well.
Step 2: Fork The Repo¶
Forking a repository is a simple two-step process:
- On GitHub, navigate to the DragonComputer/Dragonfire repository.
- In the top-right corner of the page, click Fork.
That’s it! Now, you have a fork of the original Dragonfire repository under your account.
Step 3: Create a local clone of your fork¶
Right now, you have a fork of the Dragonfire repository, but you don’t have the files in that repository on your computer. Let’s create a clone of your fork locally on your computer:
On GitHub, navigate to your fork of the Dragonfire repository.
Under the repository name, click Clone or download.
Copy the given clone URL in the Clone with HTTPs section.
Open Terminal
Type
git clone
, and then paste the URL you copied in Step 2. It will look like this, with your GitHub username instead ofYOUR-USERNAME
: .. code-block:: guessPress Enter. Your local clone will be created: .. code-block:: guess
git clone https://github.com/YOUR-USERNAME/Dragonfire.git Cloning into ‘Dragonfire’… remote: Counting objects: 1076, done. remote: Compressing objects: 100% (6/6), done. remote: Total 1076 (delta 4), reused 9 (delta 4), pack-reused 1066 Receiving objects: 100% (1076/1076), 13.85 MiB | 1.62 MiB/s, done. Resolving deltas: 100% (597/597), done. Checking connectivity… done.
You need to install Dragonfire with sudo
rights, even if you are installing editable/development mode because there is a post-installation script that needs sudo
rights.
git clone https://github.com/YOUR-USERNAME/Dragonfire.git
cd Dragonfire/
chmod +x install.sh
sudo ./install.sh --dev --pip
Use It¶
Try to experience every command listed in README.md. Please watch this playlist if you did not understand how to use Dragonfire.
If you face with a problem while installing or using Dragonfire then please take a look at the Troubleshooting section for the cases that fitting to your situation. Our chat room on Gitter is also a viable option for support requests.
Missing Software Packages (Optional)¶
There could be missing software packages on your system like blender, gimp, inkscape, kdenlive, etc. So Dragonfire will be unable to open them. If you want to use the commands like PHOTO EDITOR
, INKSCAPE
install the necessary software to your system. You can see the list of built-in commands here.
Choice for Code Editor¶
We use Atom Editor with tabs(four whitespaces) without auto-indentation. Indentation mistakes can be troublesome in Python, please don’t send files with messed up indentations.
About Packaging¶
If you are wondering about the package structure and distribution then please take a look to the official Packaging and Distributing Projects tutorial of Python.
Reporting Bugs¶
If you think you found a bug in Dragonfire then frist please check the all cases listed in Troubleshooting section. If you still think that’s a bug then please file an issue immediately. Don’t forget to mention that it’s a bug or something going on very wrong.
Note: If you find a Closed issue that seems like it is the same thing that you’re experiencing, open a new issue and include a link to the original issue in the body of your new one.
Suggesting Enhancements¶
If you have an enhancement idea or you are not happy with an ugly piece of code then please file an issue and mention that it’s an enhancement proposal.
Projects¶
Look at the cards pinned to To Do columns inside open projects to find something suitable for you. If you are willing to take a card/task from there then contact with project maintainers via Gitter chat room so they will assign that task to you.
Your First Code Contribution¶
Unsure where to begin contributing to Dragonfire? You can start by looking through these beginner
and help-wanted
issues:
- Beginner issues which should only require a few lines of code, and a test or two.
- Help wanted issues which should be a bit more involved than
beginner
issues. - Missing dependency issues which should be mostly platform/distro related issues.
- Enhancement proposals which should be improvements ideas or alteration proposals on code.
- Bugs which should be issued with proof of existence and expected to be hard to fix.
Now you must have decided what to do. Before starting to write some code, take a quick look to PEP 8 - because :point_down:
For working well disciplined, you need to know how to deal with git’s push and pull mechanisms.
Step 1: Go to the local clone of your fork¶
Now cd
into the local clone of your fork. Wherever the folder of Dragonfire is:
cd Dragonfire/
Step 2: Pull the Latest Changes¶
Now make sure your repository is up to date first using:
git pull origin master
Step 3: Write Your Code¶
At this step you are free to make any changes inside the local clone of your fork. Make sure that your changes serve to single well defined goal which will be your commit message. DO NOT try to achieve multiple (and unrelated) tasks with a single commit.
Before proceeding to Step 4, make sure that you have done all the tests and you did not break any existing feature of Dragonfire.
Step 4: Push To Your Fork¶
When you are done, you must push your changes from the local clone to your fork with:
git add -A
git commit -m "Change this functionality from here to there"
git push -u origin master
Replace the message in `git commit -m "Change this functionality from here to there" line with your actual message.</sup>`
Step 5: Creating a Pull Request¶
Now follow this tutorial to create a pull request. You will create your pull request via this page.
Once you have successfully created the pull request, wait for a response from the project maintainers. If your patch is OK then we will merge it within approximately 24 hours.
Styleguides¶
Git Commit Messages¶
- Use the present tense (“Add feature” not “Added feature”)
- Use the imperative mood (“Move cursor to…” not “Moves cursor to…”)
- Limit the first line to 72 characters or less
- Reference issues and pull requests liberally after the first line
- Consider starting the commit message with an applicable emoji:
art: :art:
when improving the format/structure of the coderocket: :rocket:
when improving performancerobot: :robot:
when improving the AImemo: :memo:
when writing docspenguin: :penguin:
when fixing something related to Linuxapple: :apple:
when fixing something related to macOSbug: :bug:
when fixing a bugbulb: :bulb:
new ideaconstruction: :construction:
work in progressheavy_plus_sign: :heavy_plus_sign:
when adding featureheavy_minus_sign: :heavy_minus_sign:
when removing featurespeaker: :speaker:
when adding loggingmute: :mute:
when reducing loggingfire: :fire:
when removing code or fileswhite_check_mark: :white_check_mark:
when adding testslock: :lock:
when dealing with securityarrow_up: :arrow_up:
when upgrading dependenciesarrow_down: :arrow_down:
when downgrading dependenciesshirt: :shirt:
when removing linter warnings
Troubleshooting¶
See the Troubleshooting guide.
Build the Debian package¶
Install build dependencies:
sudo apt-get install debhelper python2.7-minimal python3 python3-all-dev python-setuptools python3-setuptools libglib2.0-dev libcairo2-dev libgtk2.0-dev
To building the Debian package simply run:
cd Dragonfire/
dpkg-buildpackage -us -uc
It will save the .deb
file into parent directory. debian/
directory is the directory contains all the configuration files and pre/post-installation scripts related to Debian packaging.
API Reference¶
API reference of Dragonfire hosted on Read the Docs and the build of documentation is automatically triggered by a webhook so you don’t have to really do anything about it.
We use Google Style Python Docstrings and Sphinx to build the documentation.
If you want to build the documentation on your local machine for some reason then do the following:
cd docs/
sphinx-apidoc -f -o source/ ../dragonfire/
sphinx-build -b html source/ build/
Contributor Covenant Code of Conduct¶
Our Pledge¶
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
Our Standards¶
Examples of behavior that contributes to creating a positive environment include:
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
- The use of sexualized language or imagery and unwelcome sexual attention or advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others’ private information, such as a physical or electronic address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting
Our Responsibilities¶
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
Scope¶
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
Enforcement¶
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project lead at mert.yildiran@bil.omu.edu.tr. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project’s leadership.
Attribution¶
This Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at http://contributor-covenant.org/version/1/4
License¶
The MIT License (MIT)
Copyright (c) 2017 Mehmet Mert Yıldıran mert.yildiran@bil.omu.edu.tr
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.