diff --git a/CITING.md b/CITING.md index 585cb12aa..770291b8d 100644 --- a/CITING.md +++ b/CITING.md @@ -1,5 +1,3 @@ -## Citing LightGraphs - We encourage you to cite our work if you have used our libraries, tools or datasets. Starring the repository on GitHub is also appreciated. Use the following BibTeX citation for the latest version of LightGraphs.jl: diff --git a/docs/src/citing.md b/docs/src/citing.md new file mode 100644 index 000000000..585cb12aa --- /dev/null +++ b/docs/src/citing.md @@ -0,0 +1,17 @@ +## Citing LightGraphs + +We encourage you to cite our work if you have used our libraries, tools or datasets. Starring the repository on GitHub is also appreciated. + +Use the following BibTeX citation for the latest version of LightGraphs.jl: + +```tex +@misc{Bromberger17, + author = {Seth Bromberger, James Fairbanks, and other contributors}, + title = {JuliaGraphs/LightGraphs.jl: LightGraphs}, + year = 2017, + doi = {10.5281/zenodo.889971}, + url = {https://doi.org/10.5281/zenodo.889971} +} +``` + +For previous versions, [please reference the zenodo site](https://zenodo.org/record/889971). diff --git a/docs/src/contributing.md b/docs/src/contributing.md deleted file mode 100644 index b0dfc9c87..000000000 --- a/docs/src/contributing.md +++ /dev/null @@ -1,52 +0,0 @@ -We welcome all possible contributors and ask that you read these guidelines before starting to work on this project. Following these guidelines will reduce friction and improve the speed at which your code gets merged. - -## Bug reports -If you notice code that is incorrect/crashes/too slow please file a bug report. The report should be raised as a github issue with a minimal working example that reproduces the error message. The example should include any data needed. If the problem is incorrectness, then please post the correct result along with an incorrect result. - -Please include version numbers of all relevant libraries and Julia itself. - -## Development guidelines - -- PRs should contain one logical enhancement to the codebase. -- Squash commits in a PR. -- Open an issue to discuss a feature before you start coding (this maximizes the likelihood of patch acceptance). -- Minimize dependencies on external packages, and avoid introducing new dependencies. In general, - - - PRs introducing dependencies on core Julia packages are ok. - - PRs introducing dependencies on non-core "leaf" packages (no subdependencies except for core Julia packages) are less ok. - - PRs introducing dependencies on non-core non-leaf packages require strict scrutiny and will likely not be accepted without some compelling reason (urgent bugfix or much-needed functionality). - -- Put type assertions on all function arguments (use abstract types, Union, or Any if necessary). -- If the algorithm was presented in a paper, include a reference to the paper (i.e. a proper academic citation along with an eprint link). -- Take steps to ensure that code works on graphs with multiple connected components efficiently. -- Correctness is a necessary requirement; efficiency is desirable. Once you have a correct implementation, make a PR so we can help improve performance. -- We can accept code that does not work for directed graphs as long as it comes with an explanation of what it would take to make it work for directed graphs. -- Style point: prefer the short circuiting conditional over if/else when convenient, and where state is not explicitly being mutated (*e.g.*, `condition && error("message")` is good; `condition && i += 1` is not). -- When possible write code to reuse memory. For example: -```julia -function f(g, v) - storage = Vector{Int}(nv(g)) - # some code operating on storage, g, and v. - for i in 1:nv(g) - storage[i] = v-i - end - return sum(storage) -end -``` -should be rewritten as two functions -```julia -function f(g::AbstractGraph, v::Integer) - storage = Vector{Int}(nv(g)) - return inner!(storage, g, v) -end - -function inner!(storage::AbstractVector{Int}, g::AbstractGraph, v::Integer) - # some code operating on storage, g, and v. - for i in 1:nv(g) - storage[i] = v-i - end - return sum(storage) -end -``` -This allows us to reuse the memory and improve performance. - diff --git a/docs/src/license.md b/docs/src/license.md deleted file mode 100644 index 4a93a2fc6..000000000 --- a/docs/src/license.md +++ /dev/null @@ -1,82 +0,0 @@ -The LightGraphs.jl package is licensed under the Simplified "2-clause" BSD -License: -> Copyright (c) 2015: Seth Bromberger and other contributors. -> -> Redistribution and use in source and binary forms, with or without -> modification, are permitted provided that the following conditions are -> met: -> -> 1. Redistributions of source code must retain the above copyright -> notice, this list of conditions and the following disclaimer. -> 2. Redistributions in binary form must reproduce the above copyright -> notice, this list of conditions and the following disclaimer in the -> documentation and/or other materials provided with the distribution. -> -> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -> "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -> LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -> A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -> OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -> SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -> LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -> DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -> THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -> (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -> OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -LightGraphs uses code derived from and/or inspired by the following packages: - -NetworkX: -> Copyright (C) 2004-2012, NetworkX Developers -> Aric Hagberg -> Dan Schult -> Pieter Swart -> All rights reserved. -> -> Redistribution and use in source and binary forms, with or without -> modification, are permitted provided that the following conditions are -> met: -> -> * Redistributions of source code must retain the above copyright -> notice, this list of conditions and the following disclaimer. -> -> * Redistributions in binary form must reproduce the above -> with the distribution. -> -> * Neither the name of the NetworkX Developers nor the names of its -> contributors may be used to endorse or promote products derived -> from this software without specific prior written permission. -> -> -> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -> "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -> LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -> A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -> OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -> SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -> LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -> DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -> THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -> (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -> OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Graphs.jl: -> Copyright (c) 2012: John Myles White and other contributors. - -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in -> all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -> SOFTWARE.