I forked a GitHub project in Python. After running the project for the first time, some .pyc files appeared inside. Should I put them under version control and commit them to my fork?

You shouldn’t. .pyc files contain bytecode, which can be different for different versions and implementation of Python.

Just add *.pyc line in your .gitignore or global gitignore.

Also take a look at the great collection of gitignore files for almost all platforms. You can use this one for your python projects:

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg

# PyInstaller
#  Usually these files are written by a python script from a template
#  before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover

# Translations
*.mo
*.pot

# Django stuff:
*.log

# Sphinx documentation
docs/_build/

# PyBuilder
target/

These files are compiled versions of the code already in the repo, so that Python can execute the code faster. Since they are a direct computational result of the actual source code there’s no benefit to checking them in – they’d just need to be updated every time the source code was updated. Also, there’s no guarantee (to my knowledge) that different machines or versions of Python will generate compatible .pyc files, meaning distributing the .pyc files you generated could potentially break other people’s environments.

Instead you could fix the .gitignore file to ignore .pyc files and commit that to your fork (or even back to the upstream repo). That way no one will notice or need to worry about these files in the future.

There isn’t anything bad about the file, but it’s useless junk, it’s there only to speed up python application execution, and it’s rebuilt every time you make changes, so it will just grow over time, to fix it you might want to add __pycache__ line to your .gitignore file

No. You must not put pyc under version-control

Common rule is “Never put build-artifacts into source control, because you have sources in source-control and can|have to repeat process”

PYCs are such artifacts for corresponding PY files