Github paper

Github paper DEFAULT

Paper Paper Build StatusDiscord

High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies.

Support and Project Discussion:

How To (Server Admins)

Paperclip is a jar file that you can download and run just like a normal jar file.

Download Paper from our downloads page.

Run the Paperclip jar directly from your server. Just like old times

How To (Plugin Developers)

  • See our API patches here
  • See upcoming, pending, and recently added API here
  • Paper API javadocs here:
  • Maven Repo (for paper-api):
<repository> <id>papermc</id> <url></url> </repository>
<dependency> <groupId>io.papermc.paper</groupId> <artifactId>paper-api</artifactId> <version>1.17.1-R0.1-SNAPSHOT</version> <scope>provided</scope> </dependency>

Or alternatively, with Gradle:

repositories { maven { url '' } }
dependencies { compileOnly 'io.papermc.paper:paper-api:1.17.1-R0.1-SNAPSHOT' }

How To (Compiling Jar From Source)

To compile Paper, you need JDK 16 and an internet connection.

Clone this repo, run , then from your terminal. You can find the compiled jar in the directory.

To get a full list of tasks, run .

How To (Pull Request)

See Contributing

Special Thanks To:


YourKit, makers of the outstanding java profiler, support open source projects of all kinds with their full featured Java and .NET application profilers. We thank them for granting Paper an OSS license so that we can make our software the best it can be.

JetBrains, creators of the IntelliJ IDEA, supports Paper with one of their Open Source Licenses. IntelliJ IDEA is the recommended IDE for working with Paper, and most of the Paper team uses it.



PaperLib is a plugin library for interfacing with Paper specific APIs (such as async chunk loading), with graceful fallbacks maintaining compatibility with both the Bukkit and Spigot API's.


All API calls can be found as static util methods in the class.


publicclassPaperLib { publicstaticCompletableFuture<Chunk>getChunkAtAsync(Locationloc); publicstaticCompletableFuture<Chunk>getChunkAtAsync(Locationloc, booleangen); publicstaticCompletableFuture<Chunk>getChunkAtAsync(Worldworld, intx, intz); publicstaticCompletableFuture<Chunk>getChunkAtAsync(Worldworld, intx, intz, booleangen); }

On Paper, loads (or generates on 1.13.1+) the chunk asynchronously if it is not loaded yet, then completes the returned future. Chunk will load synchronous on Spigot.


publicclassPaperLib { publicstaticCompletableFuture<Boolean>teleportAsync(Entityentity, Locationlocation); publicstaticCompletableFuture<Boolean>teleportAsync(Entityentity, Locationlocation, TeleportCausecause); }

Uses the Async Chunk Load API, and if possible, loads/generates the chunk asynchronously before teleporting. Will load synchronous on Spigot.

On 1.15+, this has an added improvement of also loading neighbor chunks to avoid collision checks loading chunks too.


publicclassPaperLib { publicstaticbooleanisChunkGenerated(Locationloc); publicstaticbooleanisChunkGenerated(Worldworld, intx, intz); }

Returns whether or not the chunk is generated. Only Supported in Paper 1.12+ and Spigot 1.13.1+


publicclassPaperLib { publicstaticBlockStateSnapshotResultgetBlockState(Blockblock, booleanuseSnapshot); }

Allows you to optionally avoid taking a snapshot of a TileEntity in a BlockState. Versions prior to 1.12 will always be false for the snapshot. In versions 1.12+ on Spigot, the snapshot will always be true. In Paper 1.12+, the snapshot will be whether or not you requested one in the API call.


publicclassPaperLib { publicstaticvoidsuggestPaper(Pluginplugin); }

Helps inform users who run your plugin on Spigot that your plugin will behave better on Paper! Calling this method will print out an informational message in the logs that they should switch to Paper, and will help users discover our software. We would appreciate it if you call this method, but it is optional.

Example Plugin

publicclassMyPluginextendsJavaPlugin { publicvoidonEnable() { PaperLib.suggestPaper(this); } publicvoiddoSomething(Entityentity, Locationlocation) { PaperLib.teleportAsync(entity, location).thenAccept(result -> { if (result) { player.sendMessage("Teleported!"); } else { player.sendMessage("Something went wrong!"); } }); } }

Build Script Setup

Add the Paper repository and the PaperLib dependency, then shade and relocate it to your own package. Relocation helps avoid version conflicts with other plugins using PaperLib.



repositories { maven { name "papermc" url "" } }


dependencies { implementation "io.papermc:paperlib:1.0.6" }

Shadow Jar and Relocate:

plugins { id "com.github.johnrengelman.shadow" version "7.0.0"// Make sure to always use the latest version ( } shadowJar { relocate "io.papermc.lib", "[YOUR PLUGIN PACKAGE].paperlib" }



<repositories> <repository> <id>papermc</id> <url></url> </repository> </repositories>


<dependencies> <dependency> <groupId>io.papermc</groupId> <artifactId>paperlib</artifactId> <version>1.0.6</version> <scope>compile</scope> </dependency> </dependencies>

Shade & Relocate:

<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.2.4</version> <!-- Make sure to always use the latest version ( --> <configuration> <dependencyReducedPomLocation>${}/dependency-reduced-pom.xml</dependencyReducedPomLocation> <relocations> <relocation> <pattern>io.papermc.lib</pattern> <shadedPattern>[YOUR PLUGIN PACKAGE].paperlib</shadedPattern> <!-- Replace this --> </relocation> </relocations> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> </plugin> </plugins> </build>


PaperLib is licensed under the MIT license

  1. Ekko camper
  2. Bulk craft shells
  3. Monopoly frame
  4. Butte warrant list
  5. Harlot lounge


Material design for React Native.

Greenkeeper badge

Build StatusVersionMIT LicenseAll ContributorsPRs WelcomeChatSponsored by Callstack


Currently supported React Native version:

Try it out

Run the example app with Expo to see it in action.

The source code for the examples are under the /example folder.

Getting Started

Refer to the getting started guide for instructions.


Check the components and their usage in our documentation.


Read the contribution guidelines before contributing.

Figma and Sketch component kits

Use official component kits provided by Material Design.

Made with at Callstack

is an open source project and will always remain free to use. If you think it's cool, please star it . Callstack is a group of React and React Native geeks, contact us at [email protected] if you need any help with these or just want to say hi!

Like the project? Join the team who does amazing stuff for clients and drives React Native Open Source!


Thanks goes to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind welcome!

Learn Git In 15 Minutes


Android ArsenalBuild Status

Paper's aim is to provide a simple yet fast object storage option for Android. It allows to use Java/Kotlin classes as is: without annotations, factory methods, mandatory class extensions etc. Moreover adding or removing fields to data classes is no longer a pain – all data structure changes are handled automatically.

Paper icon

Migration to Maven Central

Library has been moved to Maven Central since service ends for JCenter. Note that group id has been changed to . See the updated section below.

Add dependency

implementation 'io.github.pilgr:paperdb:2.7.1'

RxJava wrapper for Paper is available as a separate lib RxPaper2. Thanks @pakoito for it!

Initialize Paper

Should be initialized once in :


  • should be called in UI thread;
  • All other APIs (, etc.) are thread-safe and obviously must be called outside of UI thread. Reading/writing for different s can be done in parallel.


Save any object, Map, List, HashMap etc. including all internal objects. Use your existing data classes as is. Note that key is used as file name to store the data and so cannot contain symbols like .

List<Person> contacts"contacts", contacts);


Read data objects is as easy as


the instantiated class is exactly the one used to save data. Limited changes to the class structure are handled automatically. See Handle data class changes.

Use default values if object doesn't exist in the storage.

List<Person>"contacts", newArrayList<>());


Delete data for one key."contacts");

Remove all keys for the given Book. must be called prior calling .

Use custom book

You can create custom Book with separate storage using"for-user-1").write("contacts", contacts);"for-user-2").write("contacts", contacts);

Each book is located in a separate file folder.

Get all keys

Returns all keys for objects in the book.

List<String> allKeys;

Handle data structure changes

You can add or remove fields to the class. Then on next read attempt of a new class:

  • Newly added fields will have their default values.
  • Removed field will be ignored.

Note: field type changes are not supported.

For example, if you have following data class saved in Paper storage:

classVolcano { publicString name; publicboolean isActive; }

And then you realized you need to change the class like:

classVolcano { publicString name; // public boolean isActive; removed fieldpublicLocation location; // New field }

the isActive field will be ignored on next read and new location field will have its default value as null.

Exclude fields

Use transient keyword for fields which you want to exclude from saving process.

publictransientString tempId ="default"; // Won't be saved

Set storage location for Book instances

By default, all the Paper data files are located with all files belonging to your app, at . To save data on SDCard or at any other location you can use new API:

  • or to create custom book.


  • Use to get path for a folder containing all *.pt files for a given book.
  • Use to get path for a particular *.pt file containing saved object for a given key. Feel free to copy/rewrite those files for export/import purposes. It's your responsibility to finalize file's export/import operations prior accessing data over Paper API.

Proguard config

  • Keep your data classes from modification by Proguard:

also you can implement Serializable for all your data classes and keep all of them using:

How it works

Paper is based on the following assumptions:

  • Datasets on mobile devices are small and usually don't have relations in between;
  • Random file access on flash storage is very fast;

Paper saves each object for given key in a separate file and every write/read operations write/read the whole file.

The Kryo is used for object graph serialization and to provide data compatibility support.

Benchmark results

Running Benchmark on Nexus 4, in ms:

Read/write 500 contacts187447
Write 500 contacts108221
Read 500 contacts79155


  • Circular references are not supported

Apps using Paper

  • AppDialer – Paper initially has been developed as internal lib to reduce start up time for AppDialer. Currently AppDialer has the best start up time in its class. And simple no-sql-pain data storage layer like a bonus.
  • Busmap - This application provide all things you need for travelling by bus in Ho Chi Minh city, Vietnam. While the source code is not opened, it is found that the application use Paper internally to manange the bus stop data, route data, time data,... and more.



Paper github



  • axcell Public

    Tools for extracting tables and results from Machine Learning papers

    Python 298 Apache-2.0 44 0 0 Updated

  • model-index Public

    Create a source of truth for ML model results and browse it on Papers with Code

    Python 11 MIT 3 0 0 Updated

  • releasing-research-code Public

    Tips for releasing research code in Machine Learning (with official NeurIPS 2020 recommendations)

    1,784 MIT 523 0 0 Updated

  • sotabench-eval Public

    Easily evaluate machine learning models on public benchmarks

    Python 162 Apache-2.0 26 1 1 Updated

  • torchbench Public

    Easily benchmark machine learning models in PyTorch

    Python 129 Apache-2.0 17 2 1 Updated

  • sotabench-api Public

    Easily benchmark Machine Learning models on selected tasks and datasets

    Python 14 Apache-2.0 4 11 0 Updated


This organization has no public members. You must be a member to see who’s a part of this organization.

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.

Git - для новичков - #3 - работаем с github

Papers We Love


Papers We Love (PWL) is a community built around reading, discussing and learning more about academic computer science papers. This repository serves as a directory of some of the best papers the community can find, bringing together documents scattered across the web. You can also visit the Papers We Love site for more info.

Due to licenses we cannot always host the papers themselves (when we do, you will see a emoji next to its title in the directory README) but we can provide links to their locations.

If you enjoy the papers, perhaps stop by a local chapter meetup and join in on the vibrant discussions around them. You can also discuss PWL events, the content in this repository, and/or anything related to PWL on our Slack, after signing-up to join it, or on our #paperswelove IRC channel on freenode.


Here are our official chapters. Let us know if you are interested in starting one in your city!

All of our meetups follow our Code of Conduct.

Past Presentations

Check out our YouTube and MixCloud (audio-only format) channels.



Similar news:


Build Status (Linux)Build Status (Windows)Coverage StatusCRAN Status Badge

papeR provides a toolbox for writing knitr, Sweave or other LaTeX- or markdown-based papers and reports and to prettify the output of various estimated models.


  • Current version (from CRAN):
  • Latest development version from GitHub:
library("devtools") install_github("hofnerb/papeR")
  • To be able to use the command, one needs to install first:

Using papeR

Tutorials on how to use papeR can be found on CRAN:

or within R via

## introduction to papeR (in combination with Markdown) vignette("papeR_introduction", package="papeR") ## introduction to papeR with LaTeX vignette("papeR_with_latex", package="papeR")

229 230 231 232 233