A Python media index

Overview

pyvideo

Join the chat at https://gitter.im/pyvideo/pyvideo https://travis-ci.org/pyvideo/pyvideo.svg?branch=master

https://pyvideo.org is simply an index of Python-related media records. The raw data being used here comes out of the pyvideo/data repo.

Before opening a PR, please check out our Development Philosophy.

Development setup

Setting up a development environment is as simple as four easy steps.

  1. Clone repo (recursively; it contains submodules)
  2. Install dependencies
  3. Build reST files from JSON files
  4. Build HTML files from reST files

All of these steps are explained in detail below.

First, pull down this repo's code:

$ git clone --recursive https://github.com/pyvideo/pyvideo.git

Then, install the dependencies for building this site. It is recommended to install all the requirements inside virtualenv, use virtualenvwrapper to manage virtualenvs. Building pyvideo.org requires Python 3.5

First of all, create a virtual environment to install all the dependencies into either using virtualenvwrapper:

$ mkvirtualenv -p python3 pyvideo

... or using pyvenv:

$ pyvenv .env && source .env/bin/activate

From the root of the repo, run the following command:

$ pip install -r requirements/dev.in

Finally, you'll be able to generate the HTML site. From the root of the repo, run the following command:

$ make html

To view the site, run the following command:

$ make serve

This will start development server on port 8000. Goto browser and open http://localhost:8000 to view your local version of pyvideo.org!

Debugging

If you're trying to debug unexpected build results, you can pass one of two variables to the make process to influence to logging level:

# Show Pelican warnings
$ make VERBOSE=1 html

# Show even more output
$ make DEBUG=1 html

Accessibility tests

There are automated tests to ensure that none of the pages have significant accessibility problems; to run them:

  1. Download chromedriver and add it to your PATH environment variable (copy to /usr/local/bin, etc.)
  2. Run make test

Want to help?

We'd love the help! All feature ideas and bugs-to-be-fixed are listed in the issues associated with this repo. Please check there for ideas on how to contribute. Thanks!

If you want to contribute new media, please check the pyvideo/data repo and its contribution docs.

Found an issue?

If you've found an issue with the site or something that could be done better, please open an issue on Github.

Want our Google Analytics info?

PyVideo tries to be as open source as possible. We share the data that Google Analytics collects on request. Please feel free to send an email to [email protected] with the header "Google Analytics Access Request" if you would like access to this data. Please note that it may take a few weeks to be granted this access.

Comments
  • please add an SSL cert

    please add an SSL cert

    Hello,

    Let's Encrypt / Certbot can be used to request a free SSL certificate: https://certbot.eff.org/ This would make sure there are no MITM attacks to redirect users to unsafe content.

    Thank you.

    opened by dnozay 24
  • paginate through latest talks?

    paginate through latest talks?

    i've been using pyvideo quite a bit over the last few days and sometimes I'm just looking to watch something new that catches my eye as opposed to going to a particular conference or tag or speaker. would love to be be able to just paginate through some of the most recent videos

    opened by AlJohri 19
  • Search facility broken on pyvideo.org

    Search facility broken on pyvideo.org

    opened by ds33s 14
  • Rackspace suspension warning for pyvideo rackspace account

    Rackspace suspension warning for pyvideo rackspace account

    Hi all,

    It's been forever since I logged in to the email account that was used for the old pyvideo account on rackspace that was sponsored by them. I logged in today and found a suspension warning for that account because it started getting billed in January. I've got a January bill for 171.10 and a February bill for $473.84. The previous months are 0.

    Are pyvideo files still stored in that account? If so, could someone work out sponsorship details? I've left a message on the ticket mentioning that it was a sponsored account, but that sponsorship was started so long ago that I do not know if they have a record for it.

    I know they've turned off the sponsorship before by mistake, but that was so long ago that I'm not sure I could find the email or whatever exchange.

    anyway, HELP.

    opened by codersquid 12
  • Fix wrong youtube.com URL for youtu.be domain

    Fix wrong youtube.com URL for youtu.be domain

    For videos, whose URL contains "youtu.be" domain, we're getting an extra "/" between "www.youtube.com" and "video id" in actual video URL.

    Resolves: #286

    opened by etanot 9
  • remove video from http://pyvideo.org

    remove video from http://pyvideo.org

    I would like to remove my video from pyvideo.org. I am asking this issue here because the website does not provide any way to do that. http://pyvideo.org/speaker/vinicius-woloszyn.html Thank you very much in advance.

    opened by vwoloszyn 7
  • Hosting a peertube instance?

    Hosting a peertube instance?

    Here at AFPy we produce some videos (PyConFr, montly meetups, ...), and are trying to find proper and multiple ways to host them, so currently we do use:

    • dl.afpy.org: a simple machine we host, exposing a simple directory listing, old school, functional.
    • Youtube
    • A "random" Peertube instance

    We're searching for a way to enhance this, and we think having a peertube instance dedicated to Python videos would be a great way to enhance both our process and pyvideo.

    I personally don't think having an AFPy instance make sense: we're too little.

    The PSF like the idea, but would prefer not hosting it. The next obvious / legitimate place would be pyvideo.

    What do you think?

    opened by JulienPalard 6
  • pyvideo.search returns 404 links whenever there's an '@' or ':' in the name

    pyvideo.search returns 404 links whenever there's an '@' or ':' in the name

    E.g. Search link - https://pyvideo.org/search.html?q=django

    E.g result on Search page - "Carl Meyer about Django @ Instagram at Django: Under The Hood 2016" Associated URL in search page -

    /django-under-the-hood-2016/carl-meyer-about-django-at-instagram-at-django-under-the-hood-2016.html (Notice the extra 'at')

    Actual JSON file and consequently html -

    /django-under-the-hood-2016/carl-meyer-about-django-instagram-at-django-under-the-hood-2016.html

    The "hit.fields.url " gets populated by substituting '@' as 'at' and ':' as '-'. If these links don't match the ones in the JSON files, the returned pages are understandably 404s. They should ideally be picked from the JSON files associated with the results.

    opened by abhiramr 5
  • Make pyvideo more

    Make pyvideo more "fork friendly"

    Hi,

    I'm trying to fork pyvideo to use it as the video index for my zone local meetups. Only one is python related (php, java, javascript, joomla, ...) the other can't get into pyvideo.

    I think that expanding it use to other communities will attract more contributors, user base and give more visibility to the project. But I'm not sure how to:

    • Change the domain.
    • Configure travis.
    • Deploy.

    My suggestions:

    • Parametrize pyvideo with a yaml config file (web_url, repo, ...).
    • Convert the Makefile to a fabfile (from make to python fabric).
    • Document the fork/deploy process.
    • Try it with your zone local meetups.
    opened by Daniel-at-github 5
  • pyvideo.org search not returning recent items.

    pyvideo.org search not returning recent items.

    Search doesn't seem to be searching the whole database. A few days ago I searched for pdb and got a nice list of videos about pdb. I gave the results link (http://pyvideo.org/search.html?q=pdb) to my students as a reference for videos about pdb. Today that link comes up empty. A number of other searches also come up empty, like iterator, for example. Searches that get any results don't seem to have anything more recent than 2014, like pandas.

    opened by purplediane 4
  • Search broken (access control)

    Search broken (access control)

    When trying to search I get the following errors in my browser console:

    GET https://api.pyvideo.org/v1/search?q=Guido 502 () Failed to load https://api.pyvideo.org/v1/search?q=Guido: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://pyvideo.org' is therefore not allowed access. The response had HTTP status code 502.

    Looks like CORS isn't set properly?

    opened by nkantar 4
  • All

    All "Python Web Conf 2022" talks are 404

    The link to the "Python Web Conf 2022" event at https://pyvideo.org/events/python-web-conf-2022.html leads to a 404 error.

    All talks for this event seem to also be 404, including:

    https://pyvideo.org/python-web-conf-2022/origami.html

    https://pyvideo.org/python-web-conf-2022/lightning-talk-datetime-vs-datetime.html

    https://pyvideo.org/python-web-conf-2022/lightning-talk-from-markdown-to-blog-with-markata.html

    opened by asweigart 1
  • Bump certifi from 2019.6.16 to 2022.12.7

    Bump certifi from 2019.6.16 to 2022.12.7

    Bumps certifi from 2019.6.16 to 2022.12.7.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • [Feature Request] Add views count and options to sort by this value

    [Feature Request] Add views count and options to sort by this value

    Hey,

    Views count should by dynamically received from YouTube once we load a video page, but also with persistence (last known value), so we can filter with it. We can also use a cronjob to get the values daily.

    Thanks.

    enhancement 
    opened by bityob 1
  • Wrong Link and Wrong email id?

    Wrong Link and Wrong email id?

    Hi,

    Please check the contributors' file. Some other website (PyTube.org) and link included. Kindly correct the same.

    Also check for email id mentioned in "Want our Google Analytics info?" Section. is the email id mentioned correct?

    opened by gcdeshpande 1
  • Configure Travis-CI to run tests once a week or even once a day

    Configure Travis-CI to run tests once a week or even once a day

    The tests in Travis-CI have failed in all 3 of my pull-requests. It seems regardless to what the changes were. It seems something has changed in the environment since the most recent build 6 days ago.

    Travis can be configured to run the job once a day (or once a week) even without any push/PR. Enabling this could help noticing such external changes soon after they happen.

    opened by szabgab 1
Releases(1.0.2)
Owner
pyvideo
Software related to running pyvideo.org
pyvideo
A simple static site generator with deployment to S3/Cloudfront.

Stasis A simple static site generator with deployment to S3/Cloudfront. Features Stasis is a static website generator written in Python, using Pandoc

Scott Czepiel 56 Sep 29, 2022
A Python Static Website Generator

Version 0.8.9 Overview Hyde starter kit by merlinrebrovic is a really nice way to get started with hyde. Hyde layout for bootstrap by auzigog is also

Hyde - Static Website Generator 1.6k Jan 01, 2023
Simple, lightweight, and magic-free static site/blog generator for Python coders

makesite.py Take full control of your static website/blog generation by writing your own simple, lightweight, and magic-free static site generator in

Sunaina Pai 1.7k Jan 01, 2023
Static site generator that supports Markdown and reST syntax. Powered by Python.

Pelican Pelican is a static site generator, written in Python. Write content in reStructuredText or Markdown using your editor of choice Includes a si

Pelican dev team 11.3k Jan 04, 2023
The lektor static file content management system

Lektor Lektor is a static website generator. It builds out an entire project from static files into many individual HTML pages and has a built-in admi

Lektor CMS 3.6k Dec 29, 2022
Jekyll is a simple, blog-aware, static site generator perfect for personal, project, or organization sites.

Jekyll Jekyll is a simple, blog-aware, static site generator perfect for personal, project, or organization sites. Think of it like a file-based CMS,

Jekyll 45.8k Dec 31, 2022
Create a simple static website using python and jinja templates.

Simple Static Create a simple static website using python and jinja templates. Simple Static has four pieces: A build command that renders jinja templ

Hartley Brody 6 Sep 05, 2022
a static website generator to make beautiful customizable pictures galleries that tell a story

Prosopopee Prosopopee. Static site generator for your story. Make beautiful customizable pictures galleries that tell a story using a static website g

Bram 259 Dec 19, 2022
Makes dynamic linked shit "static". Amazing

static.py What does it do? You give it a dynamically linked binary and it will make a directory that has all the dependencies (recursively). It also f

Stephen Tong 24 Dec 16, 2022
Minimal Static Blog Generator in Python

Minimal Static Blog Generator in Python Simple static blog generator, written in Python, with the top Lighthouse scores. Missing 'Best Practices' and

Danial Goodwin 1 Apr 20, 2022
A static website and blog generator

Nikola, a Static Site and Blog Generator In goes content, out comes a website, ready to deploy. Why Static Websites? Static websites are safer, use fe

Nikola, a static site generator 2.4k Jan 05, 2023
dirmaker is a simple, opinionated static site generator for quickly publishing directory websites.

dirmaker is a simple, opinionated static site generator for publishing directory websites (eg: Indic.page, env.wiki It takes entries from a YAML file and generates a categorised, paginated directory

Kailash Nadh 40 Nov 20, 2022
Tinkerer is a blogging engine/static website generator powered by Sphinx.

Tinkerer What is Tinkerer? Tinkerer is a blogging engine/static website generator powered by Sphinx. It allows blogging in reStructuredText format, co

Vlad Riscutia 307 Dec 06, 2022
A declarative website generator designed for high-quality websites, with a focus on easy maintenance and localization.

Grow Grow is a declarative tool for rapidly building, launching, and maintaining high-quality static HTML. Easy installation Jinja template engine Con

Grow 385 Dec 03, 2022
Hobby Project. A Python Library to create and generate static web pages using just python.

PyWeb 🕸️ 🐍 Current Release: 0.1 A Hobby Project 🤓 PyWeb is a small Library to generate customized static web pages using python. Aimed for new deve

Abhinav Sinha 2 Nov 18, 2021
Static site generator for designers. Uses Python and Django templates.

News Cactus 3 is out! We're happy to announce Cactus 3. It brings a set of great new features like asset fingerprinting, an asset pipeline, pretty url

3.4k Jan 01, 2023
Project documentation with Markdown.

MkDocs Project documentation with Markdown. View the MkDocs documentation. Project release notes. Visit the MkDocs wiki for community resources, inclu

MkDocs 15.6k Jan 05, 2023
AutoLoader is a plugin for Pelican, a static site generator written in Python.

AutoLoader AutoLoader is a plugin for Pelican, a static site generator written in Python. AutoLoader is designed to autoload the other Pelican plugins

2 Nov 07, 2022
A python-based static site generator for setting up a CV/Resume site

ezcv A python-based static site generator for setting up a CV/Resume site Table of Contents What does ezcv do? Features & Roadmap Why should I use ezc

Kieran Wood 5 Oct 25, 2022
Kaktos is a python static site generator

Python static site generator κάκτος Kaktos is a python static site generator. The idea is create a simple static site generator for people that don't

Paulo Coutinho 4 Sep 21, 2022