Apache License 2.0

项目介绍

outworkers/phantom 是一个托管在 GitHub 上的开源项目,主要使用 Scala 编写,采用 Apache License 2.0 许可证,目前获得 1.0k 个 Star、179 次 Fork。

仓库全名
outworkers/phantom
开源许可证
Apache License 2.0
Star 数
1.0k
Fork 数
179
未关闭 Issue
19

README 摘要

phantom CI | Test coverage(%) | Code quality | Stable version | ScalaDoc | Chat | Open issues | Average issue resolution time | Reactive type-safe Scala driver for Apache Cassandra/Datastax Enterprise To stay up-to-date with our latest releases and news, follow us on Twitter: @outworkers. If you use phantom, please consider adding your company to our list of adopters. Phantom is and will always be open source, but…

完整内容见 GitHub 原始 README 或本页 。

常见问题

phantom 用什么语言开发?

主要使用 Scala 编写,采用 Apache License 2.0 许可证,目前有 1.0k 个 Star。

phantom 可以免费商用吗?

仓库采用 Apache License 2.0 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 phantom 的源码?

可以直接克隆仓库:git clone https://github.com/outworkers/phantom.git,默认分支为 develop;安装与运行步骤见仓库 README。

phantom 最近还在维护吗?

仓库最近一次更新为 2023年4月5日,当前有 19 个未关闭 Issue;Star 数为 1.0k,可作为社区活跃度的参考。

简要分析

热度分
1473
价值分
686
活跃状态
活跃

语言占比

Scala
Shell
Thrift

Release

README

phantom

CI Test coverage(%) Code quality Stable version ScalaDoc Chat Open issues Average issue resolution time
Build Status Coverage Status Codacy Rating Maven Central ScalaDoc Gitter Percentage of issues still open Average time to resolve an issue

Reactive type-safe Scala driver for Apache Cassandra/Datastax Enterprise

To stay up-to-date with our latest releases and news, follow us on Twitter: @outworkers.

If you use phantom, please consider adding your company to our list of adopters. Phantom is and will always be open source, but the more adopters our projects have, the more people from our company will actively work to make them better.

phantom

Migrating to phantom 2.14.0 and using execution backends.

Please refer to the new docs on query execution to understand the breaking changes in phantom 2.14.0. They will affect all users of phantom, as we further optimise the internals for better performance and to gently prepare 3.0.

Details here. In short, query generation is no longer coupled with query execution within the framework. That means phantom can natively support different kind of concurrency frameworks in parallel, using different sub-modules. That includes Monix, Twitter Util, Scala Futures, and a few others, some of which only available via phantom-pro.

import com.outworkers.phantom.dsl._ is now required in more places than before. The future method is no longer implementation by query classes, but rather added via implicit augmentation by QueryContext. The return type of the future method is now dependent on which QueryContext you use, so that’s why importing is required, without it the necessary implicits will not be in scope by default, or similarly, in some places new implicits are required to specify things specific to an execution backend.

Migrating to phantom 2.x.x series

The new series of phantom introduces several key backwards incompatible changes with previous versions. This was done to obtain massive performance boosts and to thoroughly improve user experience with phantom.

Read the MIGRATION GUIDE for more information on how to upgrade.

Available modules

This is a table of the available modules for the various Scala versions. Not all modules are available for all versions just yet, and this is because certain dependencies have yet to be published for Scala 2.12.

Phantom OSS
Module name Scala 2.10.x Scala 2.11.x Scala 2.12.0
phantom-connectors yes yes yes
phantom-dsl yes yes yes
phantom-jdk8 yes yes yes
phantom-sbt yes no no
phantom-example yes yes yes
phantom-thrift yes yes yes
phantom-finagle yes yes yes
phantom-streams yes yes yes
Phantom Pro subscription edition

Modules marked with “x” are still in beta or pre-publishing mode.

Module name Scala 2.10.x Scala 2.11.x Scala 2.12.x Release date
phantom-dse yes yes yes Released
phantom-udt yes yes yes Released
phantom-autotables x x x Released
phantom-monix x x x Released
phantom-docker x x x Released
phantom-graph x x x April 2017
phantom-spark x x x July 2017
phantom-solr x x x July 2017
phantom-migrations x x x September 2017
phantom-native x x x December 2017
phantom-java-dsl x x x December 2017

Using phantom

Scala 2.10, 2.11 and 2.12 releases

We publish phantom in 2 formats, stable releases and bleeding edge.

  • The stable release is always available on Maven Central and will be indicated by the badge at the top of this readme. The Maven Central badge is pointing at the latest version

  • Intermediary releases are available through our Bintray repo available at Resolver.bintrayRepo("outworkers", "oss-releases") or https://dl.bintray.com/outworkers/oss-releases/. The latest version available on our Bintray repository is indicated by the Bintray badge at the top of this readme.

How phantom compares

To compare phantom to similar tools in the Scala/Cassandra category, you can read more here.

Latest versions

The latest versions are available here. The badges automatically update when a new version is released.

  • Latest stable version: Maven Central (Maven Central)
  • Bleeding edge: Bintray (OSS releases on Bintray)

Tutorials on phantom and Cassandra

For ease of use and far better management of documentation, we have decided to export the README.md to a compiled documentation page, now available here.

The following are the current resources available for learning phantom, outside of tests which are very useful in highlighting all the possible features in phantom and how to use them.

This is a list of resources to help you learn phantom and Cassandra:

Issues and questions

back to top

We love Cassandra to bits and use it in every bit of our stack. phantom makes it super trivial for Scala users to embrace Cassandra.

Cassandra is highly scalable and it is by far the most powerful database technology available, open source or otherwise.

Phantom is built on top of the Datastax Java Driver, which handles Cassandra connectivity and raw query execution.

We are very happy to help implement missing features in phantom, answer questions about phantom, and occasionally help you out with Cassandra questions! Please use GitHub for any issues or bug reports.

Adopters

Here are a few of the biggest phantom adopters, though the full list is far more comprehensive.

Microsoft CreditSuisse ING UBS Wincor Nixdorf Paddy Power Strava Equens Pellucid Analytics Anomaly42 ChartBoost Tecsisa Mobli VictorOps Socrata Sphonic

Phantom is distributed under the Apache V2 License.

  • Outworkers, Limited is the copyright holder.

  • You can use phantom in commercial products or otherwise.

  • We strongly appreciate and encourage contributions.

  • All paid for features are published and sold separately as phantom-pro, everything that is currently available for free will remain so forever.

If you would like our help with any new content or initiatives, we’d love to hear about it!

Contributors

back to top

Phantom was developed at outworkers as an in-house project. All Cassandra integration at outworkers goes through phantom, and nowadays it’s safe to say most Scala/Cassandra users in the world rely on phantom.

Copyright

back to top

Special thanks to Viktor Taranenko from WhiskLabs, who gave us the original idea, and special thanks to Miles Sabin and team behind Shapeless, where we shamelessly stole all the good patterns from.

Copyright © 2013 - 2017 outworkers.

Contributing to phantom

back to top

Contributions are most welcome! Use GitHub for issues and pull requests and we will happily help out in any way we can!

评论

暂无评论