Navigating through Github repos - python

I am currently trying to find end-to-end speech recognition solutions to implement in python (I am a data science student btw). I have searched for projects on github and find it very hard to comprehend how these repositories work and how I can use them for my own project.
I am mainly confused with the following:
how do repositories usually get used by other developers and how can I use them best for my specific issue?
How do I know if the proposed solution is working in python?
What is the usual process in installing the project from the repo?
Sorry for the newbie question but I am fairly new to this.
Thank you

how do repositories usually get used by other developers and how can I use them best for my specific issue?
The best way to get started with GitHub is to review the documentation.
How do I know if the proposed solution is working in python?
Every repository includes a monochrome / colorful line between the caption and the code section. On clicking this line, you can see the languages of the current project (here is the example for Tensorflow)
What is the usual process in installing the project from the repo?
Usually the project installation and usage steps are described in README.md file that should be attached to GitHub repository. This assumes installed git and basic knowledge of its commands.

You can read the documentation(README.md) there you can have all the information you need.
You can install the project from a repo by cloning or by downloading zip.

Related

Add existing local PyCharm Python project to an initiated but empty GitHub repository?

I'm trying to follow the PyCharm instructions on linking a local Python PyCharm project with a GitHub repository. The instructions take the user through the steps necessary to create and initiate a GitHub repository from the comfort of PyCharm. It then goes into checking in your code etc.
Unfortunately, I've done things a little bit differently, causing a bit of a roadblock.
I created a GitHub repository online, adding the readme and license data. This puts me out of sync with the PyCharm instructions (that step could have been done within PyCharm). So, my question is, how do I synch a PyCharm project up with an existing but otherwise empty GitHub repository?
Edit #1
In response to some of the comments (thanks for your time and attention), I want to know how to do this only through PyCharm due to the mixed experience in my team. This work is for several users who aren't going to be computer-savvy. There is me (the software engineer/scientist) and several medical doctors. The med doctors will edit text files while I do the actual development. I'd rather they did everything through PyCharm for reasons of technical consistency (different machines, text encoding, you name it).
This is also why this question is not a duplicate.

How do I integrate my own python .py file into my Clojure script using libpython-clj?

It may be a stupid noob question, but I am a total beginner, so I would appreciate any help.
I spent over an hour searching through youtube and google for tutorials, but libpython-clj doesn't have much info out there.
In the examples I found, the python libraries being imported are from independent repos. I looked through the libpython-clj's readme and Gigasquid's tutorial, but I am totally lost.
How do I use my own python file?
Suppose I have a project with foo.py.
How do I integrate it with my Clojure script using libpython-clj?
I would be very grateful for the answer.
I gave this a try today because I was also curious about it too, so I created a small Clojure project to call a simple python package. The idea is that you can build trivial packages from your own Python code, install them in a virtualenv directory and use them from Clojure.
https://github.com/dfuenzalida/clj-python-interop
EDIT: I noticed that projects using libpython-clj are now using the clj tool with deps.edn and it works as expected. I've updated the repo above with a fully working example.

How to manage a local project using github?

I just installed git and GitHub and the reason is that it's a version control system (that's the only thing I know about it). I am starting a project (a game in Python) and it's going to stretch a long time as I am going to learn Python in deep while working on this. I want to be organized while working on this project and that's why I need a version control system.
So, the thing is:
1. I am the only programmer.
2. I don't want to share the code anywhere.
3. I want to work locally only on my system.
4. It's not open source (for the beginning)
So I want to know if GitHub functions according to my needs and how should I create local code repositories and manage my code?
P.S. I am sorry if it looks all messed up, but I couldn't find any better way to put forward.
Yes, using GitHub is a great idea.
Even if you are working alone, git will help you backup your code and will let you go to older versions in case your latest code stops working.
If you are a student, then you can get a plan to have private repositories for a couple of years for free. If you are not a student and privacy is very important for you, then you can buy private repositories in GitHub.
Virtually all of the information that you might need will be here: http://git-scm.com/doc

Python 3 Project Initialization / Prototyping

I'm looking for the correct way to prototype, initiate a Python project.
PasteScript has not been updated to Python 3.
Skeleton is available fror 3.1 but has not been maintained for the last two years.
Step by Step Guide gives information to manually create the structure of a project for packaging.
The Hitchhiker’s Guide to Packaging
Is there any new candidate for starting a project and populating all the files necessary for the project?
Not exactly what I was looking for but it will do the job.
A Project Skeleton
Another project skeleton to download on Github.
How to Package your Python Code
Adding new information
Cookiecutter seems exactly what it requires to initialize and start a project. See a blog posts explaining it.
Cookiecutter for libraries

How to contribute improvements to packages hosted on Cheeseshop ( pypi )?

I've been using zc.buildout more and more and I'm encountering problems with some recipes that I have solutions to.
These packages generally fall into several categories:
Package with no obvious links to a project site
Package with links to free hosted service like github or google code
Setup #2 is better then #1, but not much better because for both of these situations, I would have to wait for the developer to apply these changes before i can use the updated package buildout.
What I've been doing up to this point is basically forking the package, giving it a different name and uploading it to pypi, but this is creating redundancy and I think only aggravating the problem.
One possible solution, is to use to use a personal server package index where I would upload updated versions of the code until the developer updates he/her package. This is doable, but it adds additional work, that I would prefer to avoid.
Is there a better way to do this?
Thank you
Your "upload my personalized fork" solution sounds like a terrible idea. You should try http://pypi.python.org/pypi/collective.recipe.patch which lets you automatically patch eggs. Try setting up a local PyPi-compatible index. I think you can also point find-links = at a directory (not just a http:// url) containing your personal versions of those "almost good enough" packages. You can also try monkey patching the defective package, or take advantage of the Zope component model to override the necessary bits in a new package. Often the real authors are listed somewhere in the source code of a package, even if they decided not to put their names up on PyPi.
I've been trying to cut down on the number of custom versions of packages I use. Usually I work with customized packages as develop eggs by linking src/some.project to my checkout of that project's code. I don't have to build a new egg or reinstall every time I edit those packages.
A lot of Python packages used in buildouts are hosted in Plone's svn collective. It's relatively easy to get commit access to that repository.

Categories