A next-generation curated knowledge sharing platform for data scientists and other technical professions.

Overview

Knowledge Repo

PyPI license PyPI version Python Build Status Windows Build Status

The Knowledge Repo project is focused on facilitating the sharing of knowledge between data scientists and other technical roles using data formats and tools that make sense in these professions. It provides various data stores (and utilities to manage them) for "knowledge posts", with a particular focus on notebooks (R Markdown and Jupyter / IPython Notebook) to better promote reproducible research.

For more information about the motivation and inspiration behind this project, we encourage you to read our Medium Post.

Screenshots

feed

post_example

new_post

post_form

stats

Comments
  • Support Python >= 3.6

    Support Python >= 3.6

    Description of changeset

    Proposing dropping support for Python versions < 3.6 to reduce maintenance overhead and unlock some dependency upgrades (https://github.com/airbnb/knowledge-repo/pull/300#commitcomment-39416214).

    Test Plan:

    opened by naoyak 30
  • css and html bug fixes and style updates

    css and html bug fixes and style updates

    Description of changeset: CSS & HTML bug fixes & updates:

    • CSS updates to match current Airbnb design elements. Mostly color scheme and border radius updates. Can be previewed here https://github.com/airbnb/knowledge-repo/blob/0931185c73d62800b49152ea27cef5527251990d/README.md
    • HTML fix to the “Create a new post” page to fix the bug that was preventing center aligning
    • Add missing div tag that was causing a rendering bug.
    • Remove extra apostrophe in the HTML in the create a post page.
    • Fixed the web editor missing placeholder text

    Copy updates in the UI to clarify functionalities and guide best practices

    • Updated the “Create a Post” page to describe in more detail the options to add new posts

    • Added placeholder text for some fields in the add a post form (post path, post image thumbnail) to guide best practices or to guide usage

    • Renamed the Web Proxy field to “Linked Post URL” for clarity

    • Changed the “Write a Post!” button to “Add a Post!” reflecting the fact that you can add linked posts as well

    • Changed the “Web Proxy” to “Linked Post” to make this option clearer.

    • Also updated the screenshots in the readme to show the updated UI and copy

    • Added more screenshots to the readme

    Test Plan:

    • I tested the CSS and HTML fixes and updates in Chrome, Firefox and Safari in both desktop and mobile web views.
    opened by bulam 28
  •  Rewrite to rmd.py converter to add plotly divs and js, and to add plotly js dependency

    Rewrite to rmd.py converter to add plotly divs and js, and to add plotly js dependency

    Fixes #387. Description of changeset:

    In order to handle plotly plots, we use the rmarkdown::render function, which is a bit more capable than knitr. We render the Rmd to html format, with the option to keep the intermediate .md file. This is almost the same as the knitr output, but contains divs and a json description of the plots.

    Additionally some javascript is necessary to have the actual plots rendered. I have a somewhat lazy check for whether we need to add the dependency. This could be improved on by check each code block for either library(plotly) or plotly::.

    I also introduced a new dependency (python-frontmatter) to add the javascript tags after the frontmatter. There might be another way of doing this where this additional package isn't needed.

    Test Plan: A new post is included with three different plotly plots.

    Auto-reviewers: @NiharikaRay @matthewwardrop @earthmancash @danfrankj

    opened by dorianbrown 23
  • Can't login using GitHub OAuth

    Can't login using GitHub OAuth

    Auto-reviewers: @NiharikaRay @matthewwardrop @earthmancash @danfrankj

    Hi there. I am unable to login to the web interface using GitHub's Oauth system, despite the fact that I believed I've configured everything correctly. To wit, on GitHub's end I've put both the Homepage and Callback URL for OAuth applications to <SERVER_NAME> added the Client ID and Client Secret to my config_defaults.py file, and added <SERVER_NAME> to my SERVER_NAME variable. Everything seems to checkout, but I get returned to the web server with a 404 error, at the URL http://<SERVER_NAME>/auth/login/github/authorize?code=< code string >&state=< state > .

    Even stranger, when I try to sign in using Debug, it sends me straight back to the web interface Feed without signing me in. In fact, the only way I'm able to sign in is to set 'SERVER_NAME = None'.

    The only thing I can think of I am hosting the web server on a company machine, which I believe is only accessible via the company's network. But this doesn't completely explain to me the strange behavior of the Debug sign-on, since the server name is the same whether or not I hardcode it into the SERVER_NAME variable.

    I was wondering if someone is able to offer some insight or suggest a workaround for my problem. Thank you.

    opened by harrdb12 18
  • Images don't display in knowledge posts.

    Images don't display in knowledge posts.

    Auto-reviewers: @NiharikaRay @matthewwardrop @earthmancash @danfrankj

    Hi all,

    I've deployed the knowledge server on top of a knowledge repo that's a MySQL DB, and I'm having trouble getting images to display in any knowledge post.

    I'm running on top of master, and I've verified that the images have entries in the knowledge repo database. For lack of a better way that I'm aware of, I've been "publishing" posts by manually updating the status of the DB entries to 3. So it's possible that's the source of the problem?

    Any idea what could be going on? Many thanks for any guidance.

    bug 
    opened by sryza 16
  • [Windows] error in knitting process Rmd

    [Windows] error in knitting process Rmd

    I modified step 5

    5. Add your post to the repo with path project/example
    
    knowledge_repo --repo ./example_repo add example_post.ipynb -p project/example
    

    To work with Rmd

    knowledge_repo --repo ./example_repo add example_post.Rmd -p project/example

    However I recieved the folowing error

    Error: '\R' is an unrecognized escape in character string starting "'D:\R"
    Execution halted
    Traceback (most recent call last):
      File "C:\Users\roel\AppData\Local\Programs\Python\Python35-32\Scripts\knowledge_repo", line 248, in <module>
        kp = knowledge_repo.KnowledgePost.from_file(args.filename, src_paths=args.src)
      File "c:\users\roel\appdata\local\programs\python\python35-32\lib\site-packages\knowledge_repo\post.py", line 347, in from_file
        kp = KnowledgePostConverter.for_file(cls(), filename, format=format, postprocessors=postprocessors).from_file(filename, **opts)
      File "c:\users\roel\appdata\local\programs\python\python35-32\lib\site-packages\knowledge_repo\converter.py", line 43, in wrapped
        f(*args, **kwargs)
      File "c:\users\roel\appdata\local\programs\python\python35-32\lib\site-packages\knowledge_repo\converters\rmd.py", line 24, in from_file
        subprocess.check_output(runcmd, shell=True)
      File "c:\users\roel\appdata\local\programs\python\python35-32\lib\subprocess.py", line 626, in check_output
        **kwargs).stdout
      File "c:\users\roel\appdata\local\programs\python\python35-32\lib\subprocess.py", line 708, in run
        output=stdout, stderr=stderr)
    subprocess.CalledProcessError: Command 'R --vanilla --slave -e "library(knitr); setwd('D:\RmhDocs\Documents\docs\actief\knowledge-repo');                         x = knit('D:\RmhDocs\Documents\docs\actief\knowledge-repo\example_post.Rmd', 'C:\Users\roel\AppData\Local\Temp\tmpwa3xe977', quiet=T)" ' returned non-zero exit status 1
    

    I think somewhere in the script knowledge_repo\converters\rmd.py the problem resides

    opened by RMHogervorst 15
  • add Dockerfile

    add Dockerfile

    To play around with knowledge-repo it would be helpful to have a Dockerfile. This one should work after #57 is solved. Right now knowledge-repo installs correctly, but I cannot init a local repo because a github ssh key is required.

    opened by FvD 15
  • Support for external user authentication

    Support for external user authentication

    Auto-reviewers: @NiharikaRay @matthewwardrop @earthmancash @danfrankj

    I want to integrate the knowledge repo with our internal identity services (ldap and saml) such that we can control access to certain posts (although we would like all authenticated users to be able to discover the posts and read the TLDR field which I think is how the private field works today).

    I believe the expected configuration is that a reverse proxy sets some authentication headers based on the configuration file. However, just grepping through the code it does not look like the AUTH_GROUP_REQUEST_HEADER is used.

    I am also worried a little bit about keeping the users/groups in the knowledge_repo database in sync with our ldap system. Specifically I'm worried that if a user is booted from a group that there is not a good mechanism for updating the knowledge_repo server's view of the groups.

    I'm definitely willing to contribute some changes to work this out if you guys are interested. I just wanted to discuss some approaches before I go making a lot of changes. Personally I would like to see something like how JupyterHub works with auth plugins that allow each deployment of the knowledge repo an extension point to integrate with whatever AAA services are provided. I started looking at existing Flask extensions like Flask-security, Flask-principal, and Flask-login, but integrating those seemed like a massive change to the architecture. I'm also not entirely convinced that the managing auth through a proxy is not sufficient.

    One of the goals for the Knowledge Repo for us is to get some discoverability to our data science teams reports. Really like that the TLDR is still viewable even though the post is private. This kinda sets a gate up so other teams can see an analysis was done, but have to ask for approval to see it.

    opened by tkinz27 12
  • Intra-linking format

    Intra-linking format

    Could you elaborate on how to point from a notebook/md file to the ressources in orig_src?

    Let's say my knowledge repo is foo, my project is bar, my post is post. What url should I use in order to render an image? I've tried to copy the format suggested in #45 but this doesn't work:

    ![text](foo:bar/post.kp/orig_src/ressource.png)

    opened by qthurier 12
  • Error when adding an Rmd post

    Error when adding an Rmd post

    I got that error when I try to add the Rmd template:

    UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 0: invalid start byte

    Works fine with the ipynb and md templates.

    opened by qthurier 12
  • Ftr convert repo

    Ftr convert repo

    Description of changeset: This is adding functions that allow for adding a given git repository residing at a path as a new repository in the database object.

    opened by abhirathb 11
  • Knowledge Repo Roadmap?

    Knowledge Repo Roadmap?

    I see there has been some recent activity of PRs being merged to Knowledge Repo. I periodically evaluate Knowledge Repo to see if it works for our deployment and user needs; Are there any plans, roadmap, or general info to share about future development?

    opened by rsenseman 3
  • Set up mail client for approvals

    Set up mail client for approvals

    Hi!

    I would like to know how to set up the mail client to send posts approval requests and also block the publish option while the post is in review state. has anyone done this so far?

    Thanks

    opened by Amanotas20 3
  • Getting

    Getting "non-zero exit status 128"

    Receiving the following error message any time I try to run a command using the knowledge_repo tool:

    Exception encountered: Command '['git', 'rev-parse', 'HEAD']' returned non-zero exit status 128.

    Generally whatever command I was trying to run will complete, so I'm not sure what it means. I'm using Python 3.8 on WSL2.

    opened by oneextrafact 1
  • How to develop/build locally?

    How to develop/build locally?

    Hi, Thanks for open sourcing this project. I am trying to setup knowledge repo for our org and I need to fix and modify few things.

    Like this bug that I keep getting and seems to be fixed but not released. Maybe pip installing from git gets the fix but need to be able to modify the code as well.

    So first question: Is this repo actively being maintained?

    I am happy to expand the documentations from my learnings (and possibly adding new features) but first need to be able to setup the development environment locally to make sure I can maintain it at least for our org for the long term. Could you help me with that?

    Thanks.

    opened by sepans 2
  • Unable to create new KR posts after reinstalling KR tools

    Unable to create new KR posts after reinstalling KR tools

    When I try to create a new knowledge repo post with the command knowledge_repo add ~/Downloads/NeutralLosses\ \(2\).ipynb -p NeutralLossesWithASimpleModel I get the following error. This happens to everyone on my team who installed the knowledge repo tools recently but doesn't happen to people who installed the knowledge repo tools a while ago.

    INFO:knowledge_repo.repositories.gitrepository:Fetching updates to the knowledge repository...
    INFO:knowledge_repo.repositories.gitrepository:Checking out (and/or creating) a new branch `NeutralLossesWithASimpleModel.kp`...
    INFO:knowledge_repo.repositories.gitrepository:Adding and committing 'NeutralLossesWithASimpleModel.kp' to local branch `NeutralLossesWithASimpleModel.kp`...
    Traceback (most recent call last):
      File "/Users/brian/opt/miniconda3/envs/ebo/lib/python3.9/site-packages/git/repo/fun.py", line 335, in rev_parse
        obj = to_commit(obj)
      File "/Users/brian/opt/miniconda3/envs/ebo/lib/python3.9/site-packages/git/repo/fun.py", line 182, in to_commit
        if obj.type == 'tag':
    AttributeError: 'NoneType' object has no attribute 'type'
    
    The above exception was the direct cause of the following exception:
    
    Traceback (most recent call last):
      File "/Users/brian/opt/miniconda3/envs/ebo/bin/knowledge_repo", line 287, in <module>
        repo.add(kp, path=args.path, update=args.update, branch=args.branch, message=args.message, squash=args.squash)
      File "/Users/brian/opt/miniconda3/envs/ebo/lib/python3.9/site-packages/knowledge_repo/repository.py", line 256, in add
        self._kp_save(kp, path, update=update)
      File "/Users/brian/opt/miniconda3/envs/ebo/lib/python3.9/site-packages/knowledge_repo/repository.py", line 377, in _kp_save
        if not update and self.has_post(path):
      File "/Users/brian/opt/miniconda3/envs/ebo/lib/python3.9/site-packages/knowledge_repo/repository.py", line 208, in has_post
        return self._kp_exists(self._kp_path(path), revision=revision)
      File "/Users/brian/opt/miniconda3/envs/ebo/lib/python3.9/site-packages/knowledge_repo/repositories/gitrepository.py", line 404, in _kp_exists
        return os.path.isdir(os.path.join(self.path, path)) or (self.git_branch_for_post(path, interactive=False) is not None)
      File "/Users/brian/opt/miniconda3/envs/ebo/lib/python3.9/site-packages/knowledge_repo/repositories/gitrepository.py", line 223, in git_branch_for_post
        if path in self.git_local_posts(branches=[branch]):
      File "/Users/brian/opt/miniconda3/envs/ebo/lib/python3.9/site-packages/knowledge_repo/repositories/gitrepository.py", line 205, in git_local_posts
        posts[branch] = set([self.__get_path_from_ref(diff.a_path) for diff in self.git_diff(branch)])
      File "/Users/brian/opt/miniconda3/envs/ebo/lib/python3.9/site-packages/knowledge_repo/repositories/gitrepository.py", line 297, in git_diff
        commit = self.git.commit(ref)
      File "/Users/brian/opt/miniconda3/envs/ebo/lib/python3.9/site-packages/git/repo/base.py", line 536, in commit
        return self.rev_parse(str(rev) + "^0")
      File "/Users/brian/opt/miniconda3/envs/ebo/lib/python3.9/site-packages/git/repo/fun.py", line 349, in rev_parse
        raise BadName(
    gitdb.exc.BadName: Ref 'Invalid revision spec '^0' - not enough parent commits to reach '^0'' did not resolve to an object```
    opened by brian8128 2
Releases(v0.9.2)
  • v0.9.2(Jan 5, 2023)

  • v0.9.1(Apr 8, 2022)

  • v0.9.0(Jan 20, 2021)

  • v0.8.9(May 22, 2020)

  • v0.8.8(Dec 17, 2018)

    This is a minor release that fixes some bug and documentation nits.

    Bugfixes:

    • Fix sorting in the post index table layout (#475) [@srowen]
    • Fix rendering of months in stat plots (#474) [@srowen]
    • Fix Python 2 string handling, resulting in several bugs [@matthewwardrop]

    Documentation improvements:

    • Add guidance to kp preview command about how to access preview when running remotely. [@matthewwardrop]
    • Add configuration guide for using SSH authentication GitHub-backed knowledge repositories (#477) [@srowen]
    • Improve rendering of options prefixed by two hyphens (e.g. --flags) (#476) [@srowen]
    Source code(tar.gz)
    Source code(zip)
  • v0.8.7(Dec 12, 2018)

    This is a minor release fixing indexing for gunicorn deployments (which failed to start the indexing threads due to multiple instances of the Knowledge Repo web app being created, and the master uuid being assigned to an unused instance).

    Source code(tar.gz)
    Source code(zip)
  • v0.8.6(Oct 29, 2018)

    This is a minor release that fixes a bug introduced in v0.8.5 that prevented indexing when running the server in non-deployment scenarios via the knowledge_repo script.

    Source code(tar.gz)
    Source code(zip)
  • v0.8.5(Oct 8, 2018)

    This is a minor release with several small improvements and bugfixes.

    Features and improvements:

    • 404 pages are now shown instead of error pages if a post does not exist. (#463) [@wooddar]
    • Thumbnails of posts are stored in the database, but if they are too large, the base64 encoded images are truncated and thus corrupted. This patch causes the post thumbnail to be resized before being added to the index. (#464) [@matthewwardrop]

    Bugfixes:

    • Indexing routines are now initialised at time of deployment, rather than instantiation, improving user experience with commands like reindex in the knowledge_repo script. (#465) [@matthewwardrop]
    • kp ... preview did not correctly disable indexing when launching the preview server [@matthewwardrop]
    Source code(tar.gz)
    Source code(zip)
  • v0.8.4(Oct 5, 2018)

    This is another minor release with a significant set of improvements noticeable for the end-user.

    Features and enhancements:

    • Main UI now restricts its maximum width and increases font size for better readability. [@matthewwardrop]
    • Landed the new kp script that replaces knowledge_repo for contribution by users (currently in beta, will deprecate knowledge_repo for these use cases in future versions; as well as the new FolderKnowledgeRepository which serves posts from any directory (#308) [@matthewwardrop]
    • Indexing stability improved by disposing of engine on child thread before performing operations. (#457) [@matthewwardrop]
    • Added support for subtitle field, made the document title distinct from h1, and made post header submissions (optionally) interactive (#460) [@matthewwardrop]
    • Added support for importing documents from Google Docs and programmatically creating proxy posts (#462) [@matthewwardrop]
    • Enable downloading of the portable knowledge format used by the kp script [@matthewwardrop]

    Miscellaneous:

    • Travis was configured to run on actual target Python releases (#456) [@naoyak]
    • Python 3.4 was temporarily disabled due to upstream issues in anaconda [@matthewwardrop]
    • Remove troublesome (and redundant) constraints on SQL fields preventing use in MariaDB. [@matthewwardrop]
    Source code(tar.gz)
    Source code(zip)
  • v0.8.3(Sep 27, 2018)

    This a hotfix reverting an attempt to improve database connection reliability during indexing (#445) that broke SQLite in-memory databases.

    Source code(tar.gz)
    Source code(zip)
  • v0.8.2(Sep 26, 2018)

    This is another minor release with a large number of improvements and bugfixes. This release is a composite of work from a large number of contributors, so thanks to everyone for chipping in!

    Features and enhancements:

    • Names of comment authors is now rendered using format_name (#406) [@danhper]
    • Properly render in IE compatibility mode (#419) [@dorianbrown]
    • Support deployments using HTTPS for both gunicorn and uwsgi (#420) [@dorianbrown]
    • Properly set the viewport size for mobile browsers (#422) [@wooddar]
    • Support nested folders in the cluster view (#424) [@tcbegley]
    • Allow configuration of gunicorn via standard environment variables (#437) [@john-bodley]
    • Redirect to original target page after logging in (#439) [@wooddar]
    • Allow knowledge_repo to work with markdown >= 3 (#453) [@naoyak]

    Bugfixes and stability enhancments:

    • Database connections would sometimes fail during indexing (#445) [@CPapadim]
    • Knowledge Git Repositories not deployed off the master branch did not reindex properly (#449) [@jihonrado]
    • Multiple slashes would appear in OAuth redirect_uri (#407) [@danhper]
    • Correctly set the __all__ module variable for dynamically generated imports (#417) [@BioGeek]

    Miscellaneous:

    • Do not warn about gunicorn compatibility on Windows unless actually attempting to use gunicorn [@matthewwardrop]
    • Typos and broken links (#397, #398, #414) [@notpeter, @BioGeek]
    Source code(tar.gz)
    Source code(zip)
  • v0.8.1(Sep 26, 2018)

    This is a minor release with some feature enhancements and bugfixes.

    Feature enhancements:

    • Flesh out header auth with support for user attributes like email, photo, etc. (#396) [@matthewwardrop]

    Bugfixes:

    • Bugfix related to PostProcessor kwargs (#395) [@danfrankj]
    • Fix builds breaking in Windows due to conda changes and stricter pycodestyle. [@matthewwardrop]
    Source code(tar.gz)
    Source code(zip)
  • v0.8.0(Mar 25, 2018)

    This is a new feature release that includes more than a year's worth of contributions since v0.7.6. The configuration of both repositories and servers has change significantly, and Knowledge Repo administrators are recommended to review these changes as soon as possible. In particular, repository configuration from v0.7.6 and earlier is no longer compatible, and is ignored in v0.8.0+ due to security concerns. If you need to enable compatibility for this configuration during a migration, add required_tooling_version: "!v0.7.6" to a file named .knowledge_repo_config.yml in the root of your repository.

    Features:

    • Added support for custom server-side authentication (with various OAuth 2.0 providers) [@matthewwardrop, @zerogjoe]
    • Error logs are now stored separately from pageviews [@matthewwardrop]
    • Added support for HTML/Javascript cells (i.e. Plotly, Bokeh, etc) [@bmabey, @matthewwardrop]
    • New KnowledgePostProcessor to handle extracting images from posts for use in a separate server for static content. [@aaronbiller]
    • Posts can be opened in new tab by holding Alt or Command keys while clicking the post [@matthewwardrop]

    Enhancements:

    • Indexing is now much more robust and can handle multiple instances connected to the same index database across multiple servers [@matthewwardrop]
    • Added index database schema downgrade functionality for when this is necessary [@NiharikaRay]
    • Documentation improvements, including creation of new Sphinx documentation [@matthewwardrop, @danfrankj, @mrustl, @aaronbiller]
    • Added support for user icons [@matthewwardrop]
    • Knowledge Post source files are now found at /src/ instead of /orig_src/ [ @matthewwardrop ]
    • Improvements to web editor flow, including directly creating a proxy-post from /create [@danfrankj]
    • Various theming improvements including favicons, responsive UI, and styling [@matthewwardrop, @danfrankj]
    • Added posts per author to stats [@ymwdalex]
    • Allow specifying custom templates during post creation via the CLI [@jordan-wright]

    Security Improvements:

    • Removed two security vulnerabilities associated with arbitrary code execution from code stored in knowledge repositories on both clients and servers via knowledge repository configuration and embedded tooling. [@matthewwardrop]

    And many other small bugfixes and improvements. Many thanks to everyone who contributed code and information via issues.

    Source code(tar.gz)
    Source code(zip)
  • v0.7.6(Feb 27, 2017)

    This is the next in a series of minor updates for the v0.7.x series, and fixes several important bugs and introduces several cosmetic improvements. We also introduce formal compatibility with the Windows platform and add Windows to the list of platforms we continuously test against.

    Interface improvements:

    • Improvements to the rendering of the main index feed. (#218)
    • Improved pagination controls (#221, #224)
    • Code folding support (#232, #233) [thanks to @clabroy]

    Bug fixes:

    • Fix preview mode. (#219)
    • Fix image parser to avoid skipping images in markdown files (#220)
    • Fix importing and running on Windows (#225)
    • Fix Rmd conversions in Windows (#228)
    • Fix support for Postgresql and other databases not idiomatically similar to MySQL (#229)
    Source code(tar.gz)
    Source code(zip)
  • v0.7.5(Feb 7, 2017)

    This release does a handful of things

    • Fixes MySQL timeout errors in the DBKnowledgeRepository (PR here)
    • Changes the way posts are rendered (PR here)
    • Several webeditor fixes including:
      • Not allowing paths to be editable: (PR here)
      • Better error messages in alerts (PR here)
      • Adding a link to the webeditor from rendered webposts (PR here)
    • Update the URL schemas for all post-related routes: ([PR here])(https://github.com/airbnb/knowledge-repo/pull/197)

    Full change list here

    Source code(tar.gz)
    Source code(zip)
  • v0.7.4(Dec 20, 2016)

    This release fixes some small bugs that have been discovered since the last release:

    • support for dir functionality in a DBKnowledgeRepository when specifying a subfolder as parent (fixes loading images from the repository)
    • some lingering issues with indexing (such as occasional hanging)
    • some cli issues caused by a recent patch to the chaining of the knowledge_repo command
    • a dependency issue due to an upstream change to nbconvert

    It also adds some simply debugging routes that can assist in diagnosing issues, and improves documentation.

    Source code(tar.gz)
    Source code(zip)
  • v0.7.3(Dec 20, 2016)

    This release is (slightly) more than a bugfix release. It two new headers:

    • thumbnail that allows you to choose which image to use as the feed image. It can be a normal file or web uri, or a number (in which case the nth image from the post is chosen as the feed image).
    • proxy which allows you to specific a url which will be loaded into an iframe when the post is rendered. This can be helpful in gaining publicity for documents stored on external hosting services, like Google Docs Docs, Dropbox, etc.

    It also supports using non-standard port numbers for git-ssh, improves search, fixes some CLI bugs and fixes batch tagging.

    Source code(tar.gz)
    Source code(zip)
  • v0.7.2(Nov 9, 2016)

    This release fixes some small bugs related to reindexing, and some minor enhancements:

    • DBKnowledgeRepository revisions were datetime objects rather than strings, breaking comparison
    • Cleaned up time delta handling during the reindexing
    • Added the last time the repositories were checked for updates as a tooltip when hovering over last index update time.
    Source code(tar.gz)
    Source code(zip)
  • v0.7.1(Nov 9, 2016)

    This is a minor bugfix which addresses the following issues:

    • PostGres databases do not support BLOB datatypes, so we now use a generalisation.
    • Revision information for DBKnowledgeRepository instances was malformed.
    • MetaKnowledgeRepository revision information was not being output in the expected form.
    Source code(tar.gz)
    Source code(zip)
  • v0.7.0(Nov 8, 2016)

    This release is the next minor version in the pre-stable series.

    It adds the following features and improvements:

    • Automatic reindexing of knowledge repositories when they are updated (git repositories must still be externally updated, which will be addressed in a future version)
    • Improved deployment logic which unifies launching the knowledge repo using the development server built into Flask, Gunicorn and uWSGI.
    • Greatly simplified and improved web editor.

    It also addresses the following bugs:

    • Fixes setting up a DBKnowledgeRepository atop Postgres
    • Fixes knitting of Rmd files on Windows

    For a complete list of changes, please review the git changelog.

    Source code(tar.gz)
    Source code(zip)
  • v0.6.11(Nov 3, 2016)

    This release does a few things:

    1. Adds the knowledge version to content (PR here)
    2. Adds "proxy posts", where things like google docs can be added to the KR. (PR Here)
    3. Adds the ability to add post-specific permissions, using a "private" flag in the header, and then a list of allowed_groups. (PR here)
    Source code(tar.gz)
    Source code(zip)
  • v0.6.10(Oct 31, 2016)

    This is another small release that:

    • enhances/fixes some formatting/styling of the typeahead search dropdown
    • improves the documentation by clarifying how configuration files are handled
    Source code(tar.gz)
    Source code(zip)
  • v0.6.9(Oct 27, 2016)

    This release improved the typeahead search box, by creating keywords for each post, consisting of the title, authors, tags, and tldrs. Search was then done by looking at matches in these keywords, ranking by the highest number of matches.

    Source code(tar.gz)
    Source code(zip)
  • v0.6.8(Oct 27, 2016)

  • v0.6.7(Oct 26, 2016)

    This releases fixes two small bugs:

    • "Excluded tags" functionality causing problems when not specified.
    • Fix adding Rmd and md files with images in Python 3 (ipynb files were not affected because images are treated differently).
    Source code(tar.gz)
    Source code(zip)
  • v0.6.6(Oct 12, 2016)

    This release fixes a bug whereby if server configuration was not present, or if "EXCLUDED_TAGS" was not defined in the server config, then the web app would crash.

    Source code(tar.gz)
    Source code(zip)
  • v0.6.5(Oct 12, 2016)

    This release adds the following enhancements:

    • Addition of a --version option to the knowledge_repo script, which shows both the locally installed version and the currently active versions of the knowledge repository tooling (these can be different if using embedded tooling).
    • Expansion of ~ (the user home directory) when extracting images from ipynb/Rmd/markdown source.
    • Use of the https rather than ssh protocol when embedding knowledge_repo tools into git repositories.
    • Disable auto-embedding of knowledge_repo tooling in new repositories, since this is mainly useful in large deployments and was causing headaches for new users.

    It also fixes the following bugs:

    • Initialization of embedded knowledge-repo tools fails in newly checked out repositories (introduced in v0.6.3).
    Source code(tar.gz)
    Source code(zip)
  • v0.6.4(Oct 7, 2016)

  • v0.6.3(Sep 29, 2016)

    This release adds support for versions of git older than ~2.5; which do not have support for extracting the remote url using: git remote get-url origin

    In the process it also cleans up the GitKnowledgeRepository code a little pertaining to remote repositories, as well as clarifying that the Knowledge Repository supports any git repository (including those not hosted by GitHub).

    Source code(tar.gz)
    Source code(zip)
  • v0.6.2(Sep 27, 2016)

Owner
Airbnb
Airbnb
Beautiful static documentation generator for OpenAPI/Swagger 2.0

Spectacle The gentleman at REST Spectacle generates beautiful static HTML5 documentation from OpenAPI/Swagger 2.0 API specifications. The goal of Spec

Sourcey 1.3k Dec 13, 2022
This program has been coded to allow the user to rename all the files in the entered folder.

Bulk_File_Renamer This program has been coded to allow the user to rename all the files in the entered folder. The only required package is "termcolor

1 Jan 06, 2022
Soccerdata - Efficiently scrape soccer data from various sources

SoccerData is a collection of wrappers over soccer data from Club Elo, ESPN, FBr

Pieter Robberechts 195 Jan 04, 2023
Essential Document Generator

Essential Document Generator Dead Simple Document Generation Whether it's testing database performance or a new web interface, we've all needed a dead

Shane C Mason 59 Nov 11, 2022
Autolookup GUI Plugin for Plover

Word Tray for Plover Word Tray is a GUI plugin that automatically looks up efficient outlines for words that start with the current input, much like a

Kathy 3 Jun 08, 2022
A Python validator for SHACL

pySHACL A Python validator for SHACL. This is a pure Python module which allows for the validation of RDF graphs against Shapes Constraint Language (S

RDFLib 187 Dec 29, 2022
Python bindings to OpenSlide

OpenSlide Python OpenSlide Python is a Python interface to the OpenSlide library. OpenSlide is a C library that provides a simple interface for readin

OpenSlide 297 Dec 21, 2022
Explain yourself! Interrogate a codebase for docstring coverage.

interrogate: explain yourself Interrogate a codebase for docstring coverage. Why Do I Need This? interrogate checks your code base for missing docstri

Lynn Root 435 Dec 29, 2022
Repository for learning Python (Python Tutorial)

Repository for learning Python (Python Tutorial) Languages and Tools 🧰 Overview 📑 Repository for learning Python (Python Tutorial) Languages and Too

Swiftman 2 Aug 22, 2022
Reproducible Data Science at Scale!

Pachyderm: The Data Foundation for Machine Learning Pachyderm provides the data layer that allows machine learning teams to productionize and scale th

Pachyderm 5.7k Dec 29, 2022
Proyecto - Desgaste y rendimiento de empleados de IBM HR Analytics

Acceder al código desde Google Colab para poder ver de manera adecuada todas las visualizaciones y poder interactuar con ellas. Links de acceso: Noteb

1 Jan 31, 2022
This programm checks your knowlege about the capital of Japan

Introduction This programm checks your knowlege about the capital of Japan. Now, what does it actually do? After you run the programm you get asked wh

1 Dec 16, 2021
CoderByte | Practice, Tutorials & Interview Preparation Solutions|

CoderByte | Practice, Tutorials & Interview Preparation Solutions This repository consists of solutions to CoderByte practice, tutorials, and intervie

Eda AYDIN 6 Aug 09, 2022
NetBox plugin that stores configuration diffs and checks templates compliance

Config Officer - NetBox plugin NetBox plugin that deals with Cisco device configuration (collects running config from Cisco devices, indicates config

77 Dec 21, 2022
Python-slp - Side Ledger Protocol With Python

Side Ledger Protocol Run python-slp node First install Mongo DB and run the mong

Solar 3 Mar 02, 2022
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 02, 2023
script to calculate total GPA out of 4, based on input gpa.csv

gpa_calculator script to calculate total GPA out of 4 based on input gpa.csv to use, create a total.csv file containing only one integer showing the t

Mohamad Bastin 1 Feb 07, 2022
Mkdocs obsidian publish - Publish your obsidian vault through a python script

Mkdocs Obsidian Mkdocs Obsidian is an association between a python script and a

Mara 49 Jan 09, 2023
Second version of SQL-PYTHON-Practicas

SQLite-Python Acerca de | Autor Sobre el repositorio Segunda version de SQL-PYTHON-Practicas 💻 Tecnologias Visual Studio Code Python SQLite3 📖 Requi

1 Jan 06, 2022
This is the repository that includes the code material for the ESweek 2021 for the Education Class Lecture A3 "Learn to Drive (and Race!) Autonomous Vehicles"

ESweek2021_educationclassA3 This is the repository that includes the code material for the ESweek 2021 for the Education Class Lecture A3 "Learn to Dr

F1TENTH Autonomous Racing Community 29 Dec 06, 2022