Ecoer Logo
VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS24.00%
Net Worth
2.292USD
STEEM
0.001STEEM
SBD
0.000SBD
Own SP
39.511SP

Detailed Balance

STEEM
balance
0.001STEEM
market_balance
0.000STEEM
savings_balance
0.000STEEM
reward_steem_balance
0.000STEEM
STEEM POWER
Own SP
39.511SP
Delegated Out
0.000SP
Delegation In
0.000SP
Effective Power
39.511SP
Reward SP (pending)
0.000SP
SBD
sbd_balance
0.000SBD
sbd_conversions
0.000SBD
sbd_market_balance
0.000SBD
savings_sbd_balance
0.000SBD
reward_sbd_balance
0.000SBD
{
  "balance": "0.001 STEEM",
  "savings_balance": "0.000 STEEM",
  "reward_steem_balance": "0.000 STEEM",
  "vesting_shares": "64259.514635 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "0.000000 VESTS",
  "sbd_balance": "0.000 SBD",
  "savings_sbd_balance": "0.000 SBD",
  "reward_sbd_balance": "0.000 SBD",
  "conversions": []
}

Account Info

nametingping
id462615
rank55,128
reputation637453434557
created2017-11-25T04:28:45
recovery_accountsteem
proxyNone
post_count9
comment_count0
lifetime_vote_count0
witnesses_voted_for0
last_post2018-01-01T20:58:06
last_root_post2017-12-31T18:54:03
last_vote_time2018-01-11T07:03:06
proxied_vsf_votes0, 0, 0, 0
can_vote1
voting_power9,224
delayed_votes0
balance0.001 STEEM
savings_balance0.000 STEEM
sbd_balance0.000 SBD
savings_sbd_balance0.000 SBD
vesting_shares64259.514635 VESTS
delegated_vesting_shares0.000000 VESTS
received_vesting_shares0.000000 VESTS
reward_vesting_balance0.000000 VESTS
vesting_balance0.000 STEEM
vesting_withdraw_rate0.000000 VESTS
next_vesting_withdrawal1969-12-31T23:59:59
withdrawn0
to_withdraw0
withdraw_routes0
savings_withdraw_requests0
last_account_recovery1970-01-01T00:00:00
reset_accountnull
last_owner_update1970-01-01T00:00:00
last_account_update2018-01-08T06:22:15
minedNo
sbd_seconds0
sbd_last_interest_payment2018-02-01T03:22:57
savings_sbd_last_interest_payment1970-01-01T00:00:00
{
  "active": {
    "account_auths": [],
    "key_auths": [
      [
        "STM5vDMcJ3B5jaCiP3q3MZePgDttcfYf7d4yWXtkpBd9Bbfc7YDfZ",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "balance": "0.001 STEEM",
  "can_vote": true,
  "comment_count": 0,
  "created": "2017-11-25T04:28:45",
  "curation_rewards": 75,
  "delegated_vesting_shares": "0.000000 VESTS",
  "downvote_manabar": {
    "current_mana": 0,
    "last_update_time": 1511584125
  },
  "guest_bloggers": [],
  "id": 462615,
  "json_metadata": "",
  "last_account_recovery": "1970-01-01T00:00:00",
  "last_account_update": "2018-01-08T06:22:15",
  "last_owner_update": "1970-01-01T00:00:00",
  "last_post": "2018-01-01T20:58:06",
  "last_root_post": "2017-12-31T18:54:03",
  "last_vote_time": "2018-01-11T07:03:06",
  "lifetime_vote_count": 0,
  "market_history": [],
  "memo_key": "STM5KrfghbjQSHbEbJMfhKryJk4k66GKueJUidCwcigF1YZWfid4d",
  "mined": false,
  "name": "tingping",
  "next_vesting_withdrawal": "1969-12-31T23:59:59",
  "other_history": [],
  "owner": {
    "account_auths": [],
    "key_auths": [
      [
        "STM8TqqKkDjD6Dx9GAqg1bgU5EBFd9UbHDtbo7XiPQDY7tKNb6Jrj",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "pending_claimed_accounts": 0,
  "post_bandwidth": 0,
  "post_count": 9,
  "post_history": [],
  "posting": {
    "account_auths": [
      [
        "dtube.app",
        1
      ],
      [
        "utopian.app",
        1
      ]
    ],
    "key_auths": [
      [
        "STM63siVf8dPX4Aa2cqtx85ed2vY8TeDh7gs5q3Y4iatpxbcvu28z",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "posting_json_metadata": "",
  "posting_rewards": 49015,
  "proxied_vsf_votes": [
    0,
    0,
    0,
    0
  ],
  "proxy": "",
  "received_vesting_shares": "0.000000 VESTS",
  "recovery_account": "steem",
  "reputation": "637453434557",
  "reset_account": "null",
  "reward_sbd_balance": "0.000 SBD",
  "reward_steem_balance": "0.000 STEEM",
  "reward_vesting_balance": "0.000000 VESTS",
  "reward_vesting_steem": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "savings_sbd_balance": "0.000 SBD",
  "savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_sbd_seconds": "0",
  "savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
  "savings_withdraw_requests": 0,
  "sbd_balance": "0.000 SBD",
  "sbd_last_interest_payment": "2018-02-01T03:22:57",
  "sbd_seconds": "0",
  "sbd_seconds_last_update": "2018-02-01T03:22:57",
  "tags_usage": [],
  "to_withdraw": 0,
  "transfer_history": [],
  "vesting_balance": "0.000 STEEM",
  "vesting_shares": "64259.514635 VESTS",
  "vesting_withdraw_rate": "0.000000 VESTS",
  "vote_history": [],
  "voting_manabar": {
    "current_mana": 9224,
    "last_update_time": 1515654186
  },
  "voting_power": 9224,
  "withdraw_routes": 0,
  "withdrawn": 0,
  "witness_votes": [],
  "witnesses_voted_for": 0,
  "rank": 55128
}

Withdraw Routes

IncomingOutgoing
Empty
Empty
{
  "incoming": [],
  "outgoing": []
}
From Date
To Date
2019/11/25 06:18:06
parent authortingping
parent permlinkcreate-script-to-generate-flatpak-manifest-from-pip-packages
authorsteemitboard
permlinksteemitboard-notify-tingping-20191125t061805000z
title
bodyCongratulations @tingping! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@tingping/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@tingping) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=tingping)_</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
Transaction InfoBlock #38476219/Trx 858d159fb0f4c72ca68303d501202a277844cb9d
View Raw JSON Data
{
  "trx_id": "858d159fb0f4c72ca68303d501202a277844cb9d",
  "block": 38476219,
  "trx_in_block": 10,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-11-25T06:18:06",
  "op": [
    "comment",
    {
      "parent_author": "tingping",
      "parent_permlink": "create-script-to-generate-flatpak-manifest-from-pip-packages",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-tingping-20191125t061805000z",
      "title": "",
      "body": "Congratulations @tingping! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@tingping/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@tingping) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=tingping)_</sub>\n\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
    }
  ]
}
dtubesent 0.001 STEEM to @tingping- "Time is running out, claim your DTube account now before anyone else can! Login at https://d.tube"
2019/08/22 15:15:33
fromdtube
totingping
amount0.001 STEEM
memoTime is running out, claim your DTube account now before anyone else can! Login at https://d.tube
Transaction InfoBlock #35778322/Trx 4a3fea758a4ca131ef11a48523c407faa4b64618
View Raw JSON Data
{
  "trx_id": "4a3fea758a4ca131ef11a48523c407faa4b64618",
  "block": 35778322,
  "trx_in_block": 26,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-08-22T15:15:33",
  "op": [
    "transfer",
    {
      "from": "dtube",
      "to": "tingping",
      "amount": "0.001 STEEM",
      "memo": "Time is running out, claim your DTube account now before anyone else can! Login at https://d.tube"
    }
  ]
}
2018/11/25 06:10:45
parent authortingping
parent permlinkcreate-script-to-generate-flatpak-manifest-from-pip-packages
authorsteemitboard
permlinksteemitboard-notify-tingping-20181125t061044000z
title
bodyCongratulations @tingping! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@tingping/birthday1.png</td><td>1 Year on Steemit</td></tr></table> <sub>_[Click here to view your Board of Honor](https://steemitboard.com/@tingping)_</sub> **Do not miss the last post from @steemitboard:** <table><tr><td><a href="https://steemit.com/steemfest/@steemitboard/meet-the-steemians-contest-the-results-the-winners-and-the-prizes"><img src="https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmeLukvNFRsa7RURqsFpiLGEZZD49MiU52JtWmjS5S2wtW/image.png"></a></td><td><a href="https://steemit.com/steemfest/@steemitboard/meet-the-steemians-contest-the-results-the-winners-and-the-prizes">Meet the Steemians Contest - The results, the winners and the prizes</a></td></tr></table> > Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
Transaction InfoBlock #28001575/Trx 172469bddfc4ff3bb8b55c3e3caa6686725dbbbc
View Raw JSON Data
{
  "trx_id": "172469bddfc4ff3bb8b55c3e3caa6686725dbbbc",
  "block": 28001575,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-25T06:10:45",
  "op": [
    "comment",
    {
      "parent_author": "tingping",
      "parent_permlink": "create-script-to-generate-flatpak-manifest-from-pip-packages",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-tingping-20181125t061044000z",
      "title": "",
      "body": "Congratulations @tingping! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@tingping/birthday1.png</td><td>1 Year on Steemit</td></tr></table>\n\n<sub>_[Click here to view your Board of Honor](https://steemitboard.com/@tingping)_</sub>\n\n\n**Do not miss the last post from @steemitboard:**\n<table><tr><td><a href=\"https://steemit.com/steemfest/@steemitboard/meet-the-steemians-contest-the-results-the-winners-and-the-prizes\"><img src=\"https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmeLukvNFRsa7RURqsFpiLGEZZD49MiU52JtWmjS5S2wtW/image.png\"></a></td><td><a href=\"https://steemit.com/steemfest/@steemitboard/meet-the-steemians-contest-the-results-the-winners-and-the-prizes\">Meet the Steemians Contest - The results, the winners and the prizes</a></td></tr></table>\n\n> Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
    }
  ]
}
tingpingclaimed reward balance: 0.006 SP
2018/02/01 03:22:57
accounttingping
reward steem0.000 STEEM
reward sbd0.000 SBD
reward vests10.237297 VESTS
Transaction InfoBlock #19477638/Trx 9492a365a58183090744b6fce29d6f61bf6cdd5a
View Raw JSON Data
{
  "trx_id": "9492a365a58183090744b6fce29d6f61bf6cdd5a",
  "block": 19477638,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-01T03:22:57",
  "op": [
    "claim_reward_balance",
    {
      "account": "tingping",
      "reward_steem": "0.000 STEEM",
      "reward_sbd": "0.000 SBD",
      "reward_vests": "10.237297 VESTS"
    }
  ]
}
tingpingreceived 0.006 SP curation reward for @xak / upload-multiple-videos-in-dtube
2018/01/18 03:40:18
curatortingping
reward10.237297 VESTS
comment authorxak
comment permlinkupload-multiple-videos-in-dtube
Transaction InfoBlock #19075026/Virtual Operation #26
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 19075026,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 26,
  "timestamp": "2018-01-18T03:40:18",
  "op": [
    "curation_reward",
    {
      "curator": "tingping",
      "reward": "10.237297 VESTS",
      "comment_author": "xak",
      "comment_permlink": "upload-multiple-videos-in-dtube"
    }
  ]
}
tingpingclaimed reward balance: 0.062 SP
2018/01/17 09:49:12
accounttingping
reward steem0.000 STEEM
reward sbd0.000 SBD
reward vests100.347689 VESTS
Transaction InfoBlock #19053607/Trx 61e3d11aaa45cc3176ef57dc2f67a2fd87d30406
View Raw JSON Data
{
  "trx_id": "61e3d11aaa45cc3176ef57dc2f67a2fd87d30406",
  "block": 19053607,
  "trx_in_block": 13,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-17T09:49:12",
  "op": [
    "claim_reward_balance",
    {
      "account": "tingping",
      "reward_steem": "0.000 STEEM",
      "reward_sbd": "0.000 SBD",
      "reward_vests": "100.347689 VESTS"
    }
  ]
}
2018/01/13 23:06:09
curatortingping
reward14.335175 VESTS
comment authorjohn-paul
comment permlinkdisplay-of-witness-being-voter-by-a-user-on-steem-rocks
Transaction InfoBlock #18954397/Virtual Operation #4
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 18954397,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 4,
  "timestamp": "2018-01-13T23:06:09",
  "op": [
    "curation_reward",
    {
      "curator": "tingping",
      "reward": "14.335175 VESTS",
      "comment_author": "john-paul",
      "comment_permlink": "display-of-witness-being-voter-by-a-user-on-steem-rocks"
    }
  ]
}
tingpingreceived 0.020 SP curation reward for @oups / aerium-coin-logo
2018/01/13 21:59:15
curatortingping
reward32.766189 VESTS
comment authoroups
comment permlinkaerium-coin-logo
Transaction InfoBlock #18953059/Virtual Operation #26
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 18953059,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 26,
  "timestamp": "2018-01-13T21:59:15",
  "op": [
    "curation_reward",
    {
      "curator": "tingping",
      "reward": "32.766189 VESTS",
      "comment_author": "oups",
      "comment_permlink": "aerium-coin-logo"
    }
  ]
}
tingpingreceived 0.019 SP curation reward for @deathwing / twitch-bot-update-v1-0-3
2018/01/13 21:20:15
curatortingping
reward30.718343 VESTS
comment authordeathwing
comment permlinktwitch-bot-update-v1-0-3
Transaction InfoBlock #18952279/Virtual Operation #15
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 18952279,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 15,
  "timestamp": "2018-01-13T21:20:15",
  "op": [
    "curation_reward",
    {
      "curator": "tingping",
      "reward": "30.718343 VESTS",
      "comment_author": "deathwing",
      "comment_permlink": "twitch-bot-update-v1-0-3"
    }
  ]
}
2018/01/12 20:58:21
curatortingping
reward4.095982 VESTS
comment authorraycoms
comment permlinkprogrammer-rant-why-can-t-most-of-us-offer-a-decent-support
Transaction InfoBlock #18923092/Virtual Operation #14
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 18923092,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 14,
  "timestamp": "2018-01-12T20:58:21",
  "op": [
    "curation_reward",
    {
      "curator": "tingping",
      "reward": "4.095982 VESTS",
      "comment_author": "raycoms",
      "comment_permlink": "programmer-rant-why-can-t-most-of-us-offer-a-decent-support"
    }
  ]
}
tingpingreceived 0.011 SP curation reward for @johnesan / open-source-project-school-management-system
2018/01/12 18:50:54
curatortingping
reward18.432000 VESTS
comment authorjohnesan
comment permlinkopen-source-project-school-management-system
Transaction InfoBlock #18920547/Virtual Operation #20
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 18920547,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 20,
  "timestamp": "2018-01-12T18:50:54",
  "op": [
    "curation_reward",
    {
      "curator": "tingping",
      "reward": "18.432000 VESTS",
      "comment_author": "johnesan",
      "comment_permlink": "open-source-project-school-management-system"
    }
  ]
}
2018/01/11 07:03:06
votertingping
authorcodeworkr
permlinklearn-async-await-in-javascript
weight10000 (100.00%)
Transaction InfoBlock #18877635/Trx 83fcf6907df5b9f2eb427ff8c103933dd3a3526e
View Raw JSON Data
{
  "trx_id": "83fcf6907df5b9f2eb427ff8c103933dd3a3526e",
  "block": 18877635,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-11T07:03:06",
  "op": [
    "vote",
    {
      "voter": "tingping",
      "author": "codeworkr",
      "permlink": "learn-async-await-in-javascript",
      "weight": 10000
    }
  ]
}
2018/01/11 07:02:15
votertingping
authorxak
permlinkupload-multiple-videos-in-dtube
weight10000 (100.00%)
Transaction InfoBlock #18877618/Trx 2c6b727990bb569a67fb4b5fc8b91f1218077036
View Raw JSON Data
{
  "trx_id": "2c6b727990bb569a67fb4b5fc8b91f1218077036",
  "block": 18877618,
  "trx_in_block": 48,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-11T07:02:15",
  "op": [
    "vote",
    {
      "voter": "tingping",
      "author": "xak",
      "permlink": "upload-multiple-videos-in-dtube",
      "weight": 10000
    }
  ]
}
2018/01/11 07:01:27
votertingping
authorydavgonzalez
permlinkthe-importance-of-our-voting-power
weight10000 (100.00%)
Transaction InfoBlock #18877602/Trx 459d13dbbe98abe3b992570a4504f4aec577b7c7
View Raw JSON Data
{
  "trx_id": "459d13dbbe98abe3b992570a4504f4aec577b7c7",
  "block": 18877602,
  "trx_in_block": 10,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-11T07:01:27",
  "op": [
    "vote",
    {
      "voter": "tingping",
      "author": "ydavgonzalez",
      "permlink": "the-importance-of-our-voting-power",
      "weight": 10000
    }
  ]
}
2018/01/11 07:00:51
votertingping
authormdasadulhaque
permlinkthis-is-my-first-contributions-in-graphics-catagory-created-a-logo-for-open-source-game-xonotic
weight10000 (100.00%)
Transaction InfoBlock #18877590/Trx 1c235c140fd4f1215be243e94b804c124d2d7686
View Raw JSON Data
{
  "trx_id": "1c235c140fd4f1215be243e94b804c124d2d7686",
  "block": 18877590,
  "trx_in_block": 34,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-11T07:00:51",
  "op": [
    "vote",
    {
      "voter": "tingping",
      "author": "mdasadulhaque",
      "permlink": "this-is-my-first-contributions-in-graphics-catagory-created-a-logo-for-open-source-game-xonotic",
      "weight": 10000
    }
  ]
}
tingpingclaimed reward balance: 0.005 SP
2018/01/11 07:00:00
accounttingping
reward steem0.000 STEEM
reward sbd0.000 SBD
reward vests8.192663 VESTS
Transaction InfoBlock #18877573/Trx 8526b567fe9a8d25b2b51f20f3239898194ef821
View Raw JSON Data
{
  "trx_id": "8526b567fe9a8d25b2b51f20f3239898194ef821",
  "block": 18877573,
  "trx_in_block": 51,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-11T07:00:00",
  "op": [
    "claim_reward_balance",
    {
      "account": "tingping",
      "reward_steem": "0.000 STEEM",
      "reward_sbd": "0.000 SBD",
      "reward_vests": "8.192663 VESTS"
    }
  ]
}
tingpingreceived 0.005 SP curation reward for @dissgo / erumic-ui-android-custom-theme
2018/01/11 03:11:54
curatortingping
reward8.192663 VESTS
comment authordissgo
comment permlinkerumic-ui-android-custom-theme
Transaction InfoBlock #18873011/Virtual Operation #45
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 18873011,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 45,
  "timestamp": "2018-01-11T03:11:54",
  "op": [
    "curation_reward",
    {
      "curator": "tingping",
      "reward": "8.192663 VESTS",
      "comment_author": "dissgo",
      "comment_permlink": "erumic-ui-android-custom-theme"
    }
  ]
}
steemdelegated 0.000 SP to @tingping
2018/01/09 07:14:24
delegatorsteem
delegateetingping
vesting shares0.000000 VESTS
Transaction InfoBlock #18820284/Trx 5e08058a79dc7712c77224de7a30d02baead2c6b
View Raw JSON Data
{
  "trx_id": "5e08058a79dc7712c77224de7a30d02baead2c6b",
  "block": 18820284,
  "trx_in_block": 12,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-09T07:14:24",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "tingping",
      "vesting_shares": "0.000000 VESTS"
    }
  ]
}
tingpingupvoted (50.00%) @nspart / p3y1hv9i
2018/01/08 06:24:18
votertingping
authornspart
permlinkp3y1hv9i
weight5000 (50.00%)
Transaction InfoBlock #18790545/Trx 7361049aef4a7d32f07af3dbbe6b64385c4b141d
View Raw JSON Data
{
  "trx_id": "7361049aef4a7d32f07af3dbbe6b64385c4b141d",
  "block": 18790545,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-08T06:24:18",
  "op": [
    "vote",
    {
      "voter": "tingping",
      "author": "nspart",
      "permlink": "p3y1hv9i",
      "weight": 5000
    }
  ]
}
2018/01/08 06:22:21
required auths[]
required posting auths["tingping"]
idfollow
json["follow",{"follower":"tingping","following":"dtube","what":["blog"]}]
Transaction InfoBlock #18790506/Trx 91e90531a27242d1f7187bd97c7d268c5c10a2bb
View Raw JSON Data
{
  "trx_id": "91e90531a27242d1f7187bd97c7d268c5c10a2bb",
  "block": 18790506,
  "trx_in_block": 20,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-08T06:22:21",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "tingping"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"tingping\",\"following\":\"dtube\",\"what\":[\"blog\"]}]"
    }
  ]
}
tingpingupdated their account properties
2018/01/08 06:22:15
accounttingping
posting{"weight_threshold":1,"account_auths":[["dtube.app",1],["utopian.app",1]],"key_auths":[["STM63siVf8dPX4Aa2cqtx85ed2vY8TeDh7gs5q3Y4iatpxbcvu28z",1]]}
memo keySTM5KrfghbjQSHbEbJMfhKryJk4k66GKueJUidCwcigF1YZWfid4d
json metadata
Transaction InfoBlock #18790504/Trx 59b040c1a0d9ccdd805d7087f7a26c38bfd0e127
View Raw JSON Data
{
  "trx_id": "59b040c1a0d9ccdd805d7087f7a26c38bfd0e127",
  "block": 18790504,
  "trx_in_block": 12,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-08T06:22:15",
  "op": [
    "account_update",
    {
      "account": "tingping",
      "posting": {
        "weight_threshold": 1,
        "account_auths": [
          [
            "dtube.app",
            1
          ],
          [
            "utopian.app",
            1
          ]
        ],
        "key_auths": [
          [
            "STM63siVf8dPX4Aa2cqtx85ed2vY8TeDh7gs5q3Y4iatpxbcvu28z",
            1
          ]
        ]
      },
      "memo_key": "STM5KrfghbjQSHbEbJMfhKryJk4k66GKueJUidCwcigF1YZWfid4d",
      "json_metadata": ""
    }
  ]
}
tingpingsent 50.994 SBD to @blocktrades- "673512b5-6b7b-49c9-bd99-133fe65d69e3"
2018/01/07 22:15:36
fromtingping
toblocktrades
amount50.994 SBD
memo673512b5-6b7b-49c9-bd99-133fe65d69e3
Transaction InfoBlock #18780775/Trx 8c723f0cc525466d9f3c6773134ae20ca2c8c76f
View Raw JSON Data
{
  "trx_id": "8c723f0cc525466d9f3c6773134ae20ca2c8c76f",
  "block": 18780775,
  "trx_in_block": 33,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-07T22:15:36",
  "op": [
    "transfer",
    {
      "from": "tingping",
      "to": "blocktrades",
      "amount": "50.994 SBD",
      "memo": "673512b5-6b7b-49c9-bd99-133fe65d69e3"
    }
  ]
}
tingpingclaimed reward balance: 27.807 SBD, 5.446 SP
2018/01/07 21:50:48
accounttingping
reward steem0.000 STEEM
reward sbd27.807 SBD
reward vests8857.726300 VESTS
Transaction InfoBlock #18780280/Trx fa18b9358d2489d240097ce271f1bef157a1bb17
View Raw JSON Data
{
  "trx_id": "fa18b9358d2489d240097ce271f1bef157a1bb17",
  "block": 18780280,
  "trx_in_block": 42,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-07T21:50:48",
  "op": [
    "claim_reward_balance",
    {
      "account": "tingping",
      "reward_steem": "0.000 STEEM",
      "reward_sbd": "27.807 SBD",
      "reward_vests": "8857.726300 VESTS"
    }
  ]
}
2018/01/07 18:54:03
authortingping
permlinkcreate-script-to-generate-flatpak-manifest-from-pip-packages
sbd payout27.807 SBD
steem payout0.000 STEEM
vesting payout8857.726300 VESTS
Transaction InfoBlock #18776745/Virtual Operation #24
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 18776745,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 24,
  "timestamp": "2018-01-07T18:54:03",
  "op": [
    "author_reward",
    {
      "author": "tingping",
      "permlink": "create-script-to-generate-flatpak-manifest-from-pip-packages",
      "sbd_payout": "27.807 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "8857.726300 VESTS"
    }
  ]
}
utopian.payreceived 3.630 SP benefactor reward from @tingping
2018/01/07 18:54:03
benefactorutopian.pay
authortingping
permlinkcreate-script-to-generate-flatpak-manifest-from-pip-packages
sbd payout0.000 SBD
steem payout0.000 STEEM
vesting payout5903.785198 VESTS
Transaction InfoBlock #18776745/Virtual Operation #23
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 18776745,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 23,
  "timestamp": "2018-01-07T18:54:03",
  "op": [
    "comment_benefactor_reward",
    {
      "benefactor": "utopian.pay",
      "author": "tingping",
      "permlink": "create-script-to-generate-flatpak-manifest-from-pip-packages",
      "sbd_payout": "0.000 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "5903.785198 VESTS"
    }
  ]
}
2018/01/07 18:24:48
votertingping
authorscipio
permlinkgsaw-js-v0-3-more-powerful-still-just-as-easy-configuration-options-and-virtual-stylesheet-injection-the-scipio-files-13
weight2500 (25.00%)
Transaction InfoBlock #18776161/Trx c0c9b6e63a01b6f2d9e8b1274bceff2a1c9f263c
View Raw JSON Data
{
  "trx_id": "c0c9b6e63a01b6f2d9e8b1274bceff2a1c9f263c",
  "block": 18776161,
  "trx_in_block": 11,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-07T18:24:48",
  "op": [
    "vote",
    {
      "voter": "tingping",
      "author": "scipio",
      "permlink": "gsaw-js-v0-3-more-powerful-still-just-as-easy-configuration-options-and-virtual-stylesheet-injection-the-scipio-files-13",
      "weight": 2500
    }
  ]
}
2018/01/07 18:21:03
votertingping
authorted7
permlinkhow-to-crop-video-using-vlc-media-player
weight10000 (100.00%)
Transaction InfoBlock #18776086/Trx 83bbcfb42cd4ff3695a635f8913e3875fcd4090a
View Raw JSON Data
{
  "trx_id": "83bbcfb42cd4ff3695a635f8913e3875fcd4090a",
  "block": 18776086,
  "trx_in_block": 52,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-07T18:21:03",
  "op": [
    "vote",
    {
      "voter": "tingping",
      "author": "ted7",
      "permlink": "how-to-crop-video-using-vlc-media-player",
      "weight": 10000
    }
  ]
}
2018/01/06 23:36:21
votertingping
authorraycoms
permlinkprogrammer-rant-why-can-t-most-of-us-offer-a-decent-support
weight10000 (100.00%)
Transaction InfoBlock #18753620/Trx d7efe98d52403213e92b88a3f0f471a4523d4058
View Raw JSON Data
{
  "trx_id": "d7efe98d52403213e92b88a3f0f471a4523d4058",
  "block": 18753620,
  "trx_in_block": 16,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T23:36:21",
  "op": [
    "vote",
    {
      "voter": "tingping",
      "author": "raycoms",
      "permlink": "programmer-rant-why-can-t-most-of-us-offer-a-decent-support",
      "weight": 10000
    }
  ]
}
2018/01/06 23:31:24
votertingping
authortingping
permlinkautomatically-installing-gtk-themes-in-flatpak
weight10000 (100.00%)
Transaction InfoBlock #18753521/Trx a92c746ba9e0ac6cdaafe80ee0a5b2fc4343bb6f
View Raw JSON Data
{
  "trx_id": "a92c746ba9e0ac6cdaafe80ee0a5b2fc4343bb6f",
  "block": 18753521,
  "trx_in_block": 26,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T23:31:24",
  "op": [
    "vote",
    {
      "voter": "tingping",
      "author": "tingping",
      "permlink": "automatically-installing-gtk-themes-in-flatpak",
      "weight": 10000
    }
  ]
}
2018/01/06 23:31:24
votertingping
authortingping
permlinkcreate-script-to-generate-flatpak-manifest-from-pip-packages
weight10000 (100.00%)
Transaction InfoBlock #18753521/Trx 97427de109639c7da0dfff0f2c3dc66c3abb3a76
View Raw JSON Data
{
  "trx_id": "97427de109639c7da0dfff0f2c3dc66c3abb3a76",
  "block": 18753521,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T23:31:24",
  "op": [
    "vote",
    {
      "voter": "tingping",
      "author": "tingping",
      "permlink": "create-script-to-generate-flatpak-manifest-from-pip-packages",
      "weight": 10000
    }
  ]
}
2018/01/06 23:29:33
votertingping
authortrixiedraws
permlinkseascape-in-one-sitting
weight10000 (100.00%)
Transaction InfoBlock #18753484/Trx 355495dcbf582be078689112b4a5d56f2207a264
View Raw JSON Data
{
  "trx_id": "355495dcbf582be078689112b4a5d56f2207a264",
  "block": 18753484,
  "trx_in_block": 22,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T23:29:33",
  "op": [
    "vote",
    {
      "voter": "tingping",
      "author": "trixiedraws",
      "permlink": "seascape-in-one-sitting",
      "weight": 10000
    }
  ]
}
2018/01/06 23:27:57
votertingping
authordeathwing
permlinktwitch-bot-update-v1-0-3
weight10000 (100.00%)
Transaction InfoBlock #18753452/Trx 6e79de72d29070b4ead8d64b2ff335aff8154feb
View Raw JSON Data
{
  "trx_id": "6e79de72d29070b4ead8d64b2ff335aff8154feb",
  "block": 18753452,
  "trx_in_block": 11,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T23:27:57",
  "op": [
    "vote",
    {
      "voter": "tingping",
      "author": "deathwing",
      "permlink": "twitch-bot-update-v1-0-3",
      "weight": 10000
    }
  ]
}
tingpingupvoted (100.00%) @oups / aerium-coin-logo
2018/01/06 23:27:15
votertingping
authoroups
permlinkaerium-coin-logo
weight10000 (100.00%)
Transaction InfoBlock #18753438/Trx fb06ddd6046c9c89be6a516abe0096432ded8ead
View Raw JSON Data
{
  "trx_id": "fb06ddd6046c9c89be6a516abe0096432ded8ead",
  "block": 18753438,
  "trx_in_block": 30,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T23:27:15",
  "op": [
    "vote",
    {
      "voter": "tingping",
      "author": "oups",
      "permlink": "aerium-coin-logo",
      "weight": 10000
    }
  ]
}
2018/01/06 23:26:12
votertingping
authoremmyllionaire
permlinkwill-referral-bonuses-grow-the-steemit-community-faster
weight10000 (100.00%)
Transaction InfoBlock #18753417/Trx ea772e899154da6ee7ef25c8fc237578c502e69d
View Raw JSON Data
{
  "trx_id": "ea772e899154da6ee7ef25c8fc237578c502e69d",
  "block": 18753417,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T23:26:12",
  "op": [
    "vote",
    {
      "voter": "tingping",
      "author": "emmyllionaire",
      "permlink": "will-referral-bonuses-grow-the-steemit-community-faster",
      "weight": 10000
    }
  ]
}
2018/01/06 23:25:57
votertingping
authorjohn-paul
permlinkdisplay-of-witness-being-voter-by-a-user-on-steem-rocks
weight10000 (100.00%)
Transaction InfoBlock #18753412/Trx 30f25288729f5f2fd566c6c52a4c6d2898ffe989
View Raw JSON Data
{
  "trx_id": "30f25288729f5f2fd566c6c52a4c6d2898ffe989",
  "block": 18753412,
  "trx_in_block": 17,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T23:25:57",
  "op": [
    "vote",
    {
      "voter": "tingping",
      "author": "john-paul",
      "permlink": "display-of-witness-being-voter-by-a-user-on-steem-rocks",
      "weight": 10000
    }
  ]
}
2018/01/06 23:25:00
votertingping
authorjohnesan
permlinkopen-source-project-school-management-system
weight10000 (100.00%)
Transaction InfoBlock #18753393/Trx 66089bfc23826e6c1cc66c602ed2d2c2b15f3c95
View Raw JSON Data
{
  "trx_id": "66089bfc23826e6c1cc66c602ed2d2c2b15f3c95",
  "block": 18753393,
  "trx_in_block": 16,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T23:25:00",
  "op": [
    "vote",
    {
      "voter": "tingping",
      "author": "johnesan",
      "permlink": "open-source-project-school-management-system",
      "weight": 10000
    }
  ]
}
2018/01/06 23:22:06
votertingping
authordissgo
permlinkerumic-ui-android-custom-theme
weight10000 (100.00%)
Transaction InfoBlock #18753335/Trx f8aaa858c480e577562ad4f82eb5bc6496dd84f7
View Raw JSON Data
{
  "trx_id": "f8aaa858c480e577562ad4f82eb5bc6496dd84f7",
  "block": 18753335,
  "trx_in_block": 45,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T23:22:06",
  "op": [
    "vote",
    {
      "voter": "tingping",
      "author": "dissgo",
      "permlink": "erumic-ui-android-custom-theme",
      "weight": 10000
    }
  ]
}
2018/01/06 22:47:42
parent author
parent permlinkutopian-io
authortingping
permlinkcreate-script-to-generate-flatpak-manifest-from-pip-packages
titleCreate script to generate Flatpak manifest from PIP packages
bodyThe tool to generate flatpaks, `flatpak-builder` is designed to be sandboxed and generate reproducible results; The downside to this is that some existing tooling such as `npm` or `pip` don't necessarily map well to this as they by default download dependencies and packages generally have a lot of dependencies which you wouldn't want to list by hand. So the solution to this is simply to have automated tooling to generate a `json` file containing all of the dependencies and include them in your manifest. The information we need to do this is the list of packages, their sha256, and a URL to download them. Thankfully `pip` has a `download` option which resolves the list of all dependencies and downloads them for us so we can get the hash ourselves. To get the download URL we have to use pypi's API at `https://pypi.python.org/pypi/{package_name}/json` and find the releases url that matches the filename `pip` grabbed earlier which is easy enough. Now that `flatpak-builder` can reliably download static versions of dependencies we need to install it. The `pip install` tool does allow looking up packages in a local directory so we can pass it `--no-index --find-links "file://${PWD}"`. This solution did not turn out perfectly though. For a reason I've yet to track down some packages, for example `mypy`, have actual dependencies that are not listed or pulled in which is frustrating and currently just worked around by allowing you to pass multiple packages at once so you can manually specify anything missing which seems acceptable for now. The end result looks like this: ```json { "name": "jedi", "buildsystem": "simple", "build-commands": [ "pip3 install --no-index --find-links \"file://${PWD}\" --prefix=/app jedi" ], "sources": [ { "type": "file", "url": "https://pypi.python.org/packages/14/3b/15cfd9c7a8bd9e3a2fe956e20fbc4e7c5768e06aea347d8eb68a05a71653/parso-0.1.1.tar.gz", "sha256": "5815f3fe254e5665f3c5d6f54f086c2502035cb631a91341591b5a564203cffb" }, { "type": "file", "url": "https://pypi.python.org/packages/d2/41/430b325e411d564b1afc37bc7286c3549f4c415ada750a617fb1943c593d/jedi-0.11.1.tar.gz", "sha256": "d6e799d04d1ade9459ed0f20de47c32f2285438956a677d083d3c98def59fa97" } ] } ``` Merge request: https://github.com/flatpak/flatpak-builder-tools/pull/6 <br /><hr/><em>Posted on <a href="https://utopian.io/utopian-io/@tingping/create-script-to-generate-flatpak-manifest-from-pip-packages">Utopian.io - Rewarding Open Source Contributors</a></em><hr/>
json metadata{"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"id":114991815,"name":"flatpak-builder-tools","full_name":"flatpak/flatpak-builder-tools","owner":{"login":"flatpak","id":19473042,"avatar_url":"https://avatars0.githubusercontent.com/u/19473042?v=4","gravatar_id":"","url":"https://api.github.com/users/flatpak","html_url":"https://github.com/flatpak","followers_url":"https://api.github.com/users/flatpak/followers","following_url":"https://api.github.com/users/flatpak/following{/other_user}","gists_url":"https://api.github.com/users/flatpak/gists{/gist_id}","starred_url":"https://api.github.com/users/flatpak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flatpak/subscriptions","organizations_url":"https://api.github.com/users/flatpak/orgs","repos_url":"https://api.github.com/users/flatpak/repos","events_url":"https://api.github.com/users/flatpak/events{/privacy}","received_events_url":"https://api.github.com/users/flatpak/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/flatpak/flatpak-builder-tools","description":"Various helper tools for flatpak-builder","fork":false,"url":"https://api.github.com/repos/flatpak/flatpak-builder-tools","forks_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/forks","keys_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/keys{/key_id}","collaborators_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/teams","hooks_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/hooks","issue_events_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/events{/number}","events_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/events","assignees_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/assignees{/user}","branches_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/branches{/branch}","tags_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/tags","blobs_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/refs{/sha}","trees_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/trees{/sha}","statuses_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/statuses/{sha}","languages_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/languages","stargazers_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/stargazers","contributors_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/contributors","subscribers_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/subscribers","subscription_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/subscription","commits_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/commits{/sha}","git_commits_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/commits{/sha}","comments_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/comments{/number}","issue_comment_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/comments{/number}","contents_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/contents/{+path}","compare_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/compare/{base}...{head}","merges_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/merges","archive_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/downloads","issues_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues{/number}","pulls_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls{/number}","milestones_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/milestones{/number}","notifications_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/labels{/name}","releases_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/releases{/id}","deployments_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/deployments","created_at":"2017-12-21T10:08:07Z","updated_at":"2017-12-31T18:07:12Z","pushed_at":"2017-12-31T18:07:38Z","git_url":"git://github.com/flatpak/flatpak-builder-tools.git","ssh_url":"[email protected]:flatpak/flatpak-builder-tools.git","clone_url":"https://github.com/flatpak/flatpak-builder-tools.git","svn_url":"https://github.com/flatpak/flatpak-builder-tools","homepage":null,"size":12,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":5,"license":null,"forks":1,"open_issues":5,"watchers":0,"default_branch":"master","score":18.22775},"pullRequests":[{"url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/6","id":160626966,"html_url":"https://github.com/flatpak/flatpak-builder-tools/pull/6","diff_url":"https://github.com/flatpak/flatpak-builder-tools/pull/6.diff","patch_url":"https://github.com/flatpak/flatpak-builder-tools/pull/6.patch","issue_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/6","number":6,"state":"closed","locked":false,"title":"Add PIP generator","user":{"login":"TingPing","id":798838,"avatar_url":"https://avatars0.githubusercontent.com/u/798838?v=4","gravatar_id":"","url":"https://api.github.com/users/TingPing","html_url":"https://github.com/TingPing","followers_url":"https://api.github.com/users/TingPing/followers","following_url":"https://api.github.com/users/TingPing/following{/other_user}","gists_url":"https://api.github.com/users/TingPing/gists{/gist_id}","starred_url":"https://api.github.com/users/TingPing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TingPing/subscriptions","organizations_url":"https://api.github.com/users/TingPing/orgs","repos_url":"https://api.github.com/users/TingPing/repos","events_url":"https://api.github.com/users/TingPing/events{/privacy}","received_events_url":"https://api.github.com/users/TingPing/received_events","type":"User","site_admin":false},"body":"Tool to generate a manifest from pip packages.","created_at":"2017-12-31T18:04:37Z","updated_at":"2017-12-31T18:09:06Z","closed_at":"2017-12-31T18:04:49Z","merged_at":"2017-12-31T18:04:49Z","merge_commit_sha":"21da05c0246aae5752c460ea84ada9148873b00b","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/6/commits","review_comments_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/6/comments","review_comment_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/comments{/number}","comments_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/6/comments","statuses_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/statuses/71b6ce1d149f7bc88e630208299455b41217d462","head":{"label":"flatpak:pip","ref":"pip","sha":"71b6ce1d149f7bc88e630208299455b41217d462","user":{"login":"flatpak","id":19473042,"avatar_url":"https://avatars0.githubusercontent.com/u/19473042?v=4","gravatar_id":"","url":"https://api.github.com/users/flatpak","html_url":"https://github.com/flatpak","followers_url":"https://api.github.com/users/flatpak/followers","following_url":"https://api.github.com/users/flatpak/following{/other_user}","gists_url":"https://api.github.com/users/flatpak/gists{/gist_id}","starred_url":"https://api.github.com/users/flatpak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flatpak/subscriptions","organizations_url":"https://api.github.com/users/flatpak/orgs","repos_url":"https://api.github.com/users/flatpak/repos","events_url":"https://api.github.com/users/flatpak/events{/privacy}","received_events_url":"https://api.github.com/users/flatpak/received_events","type":"Organization","site_admin":false},"repo":{"id":114991815,"name":"flatpak-builder-tools","full_name":"flatpak/flatpak-builder-tools","owner":{"login":"flatpak","id":19473042,"avatar_url":"https://avatars0.githubusercontent.com/u/19473042?v=4","gravatar_id":"","url":"https://api.github.com/users/flatpak","html_url":"https://github.com/flatpak","followers_url":"https://api.github.com/users/flatpak/followers","following_url":"https://api.github.com/users/flatpak/following{/other_user}","gists_url":"https://api.github.com/users/flatpak/gists{/gist_id}","starred_url":"https://api.github.com/users/flatpak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flatpak/subscriptions","organizations_url":"https://api.github.com/users/flatpak/orgs","repos_url":"https://api.github.com/users/flatpak/repos","events_url":"https://api.github.com/users/flatpak/events{/privacy}","received_events_url":"https://api.github.com/users/flatpak/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/flatpak/flatpak-builder-tools","description":"Various helper tools for flatpak-builder","fork":false,"url":"https://api.github.com/repos/flatpak/flatpak-builder-tools","forks_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/forks","keys_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/keys{/key_id}","collaborators_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/teams","hooks_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/hooks","issue_events_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/events{/number}","events_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/events","assignees_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/assignees{/user}","branches_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/branches{/branch}","tags_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/tags","blobs_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/refs{/sha}","trees_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/trees{/sha}","statuses_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/statuses/{sha}","languages_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/languages","stargazers_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/stargazers","contributors_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/contributors","subscribers_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/subscribers","subscription_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/subscription","commits_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/commits{/sha}","git_commits_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/commits{/sha}","comments_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/comments{/number}","issue_comment_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/comments{/number}","contents_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/contents/{+path}","compare_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/compare/{base}...{head}","merges_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/merges","archive_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/downloads","issues_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues{/number}","pulls_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls{/number}","milestones_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/milestones{/number}","notifications_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/labels{/name}","releases_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/releases{/id}","deployments_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/deployments","created_at":"2017-12-21T10:08:07Z","updated_at":"2017-12-31T18:07:12Z","pushed_at":"2017-12-31T18:07:38Z","git_url":"git://github.com/flatpak/flatpak-builder-tools.git","ssh_url":"[email protected]:flatpak/flatpak-builder-tools.git","clone_url":"https://github.com/flatpak/flatpak-builder-tools.git","svn_url":"https://github.com/flatpak/flatpak-builder-tools","homepage":null,"size":12,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":5,"license":null,"forks":1,"open_issues":5,"watchers":0,"default_branch":"master"}},"base":{"label":"flatpak:master","ref":"master","sha":"21875364f78fc6076e4e98739fa143b2b38ff9a2","user":{"login":"flatpak","id":19473042,"avatar_url":"https://avatars0.githubusercontent.com/u/19473042?v=4","gravatar_id":"","url":"https://api.github.com/users/flatpak","html_url":"https://github.com/flatpak","followers_url":"https://api.github.com/users/flatpak/followers","following_url":"https://api.github.com/users/flatpak/following{/other_user}","gists_url":"https://api.github.com/users/flatpak/gists{/gist_id}","starred_url":"https://api.github.com/users/flatpak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flatpak/subscriptions","organizations_url":"https://api.github.com/users/flatpak/orgs","repos_url":"https://api.github.com/users/flatpak/repos","events_url":"https://api.github.com/users/flatpak/events{/privacy}","received_events_url":"https://api.github.com/users/flatpak/received_events","type":"Organization","site_admin":false},"repo":{"id":114991815,"name":"flatpak-builder-tools","full_name":"flatpak/flatpak-builder-tools","owner":{"login":"flatpak","id":19473042,"avatar_url":"https://avatars0.githubusercontent.com/u/19473042?v=4","gravatar_id":"","url":"https://api.github.com/users/flatpak","html_url":"https://github.com/flatpak","followers_url":"https://api.github.com/users/flatpak/followers","following_url":"https://api.github.com/users/flatpak/following{/other_user}","gists_url":"https://api.github.com/users/flatpak/gists{/gist_id}","starred_url":"https://api.github.com/users/flatpak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flatpak/subscriptions","organizations_url":"https://api.github.com/users/flatpak/orgs","repos_url":"https://api.github.com/users/flatpak/repos","events_url":"https://api.github.com/users/flatpak/events{/privacy}","received_events_url":"https://api.github.com/users/flatpak/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/flatpak/flatpak-builder-tools","description":"Various helper tools for flatpak-builder","fork":false,"url":"https://api.github.com/repos/flatpak/flatpak-builder-tools","forks_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/forks","keys_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/keys{/key_id}","collaborators_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/teams","hooks_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/hooks","issue_events_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/events{/number}","events_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/events","assignees_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/assignees{/user}","branches_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/branches{/branch}","tags_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/tags","blobs_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/refs{/sha}","trees_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/trees{/sha}","statuses_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/statuses/{sha}","languages_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/languages","stargazers_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/stargazers","contributors_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/contributors","subscribers_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/subscribers","subscription_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/subscription","commits_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/commits{/sha}","git_commits_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/commits{/sha}","comments_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/comments{/number}","issue_comment_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/comments{/number}","contents_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/contents/{+path}","compare_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/compare/{base}...{head}","merges_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/merges","archive_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/downloads","issues_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues{/number}","pulls_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls{/number}","milestones_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/milestones{/number}","notifications_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/labels{/name}","releases_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/releases{/id}","deployments_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/deployments","created_at":"2017-12-21T10:08:07Z","updated_at":"2017-12-31T18:07:12Z","pushed_at":"2017-12-31T18:07:38Z","git_url":"git://github.com/flatpak/flatpak-builder-tools.git","ssh_url":"[email protected]:flatpak/flatpak-builder-tools.git","clone_url":"https://github.com/flatpak/flatpak-builder-tools.git","svn_url":"https://github.com/flatpak/flatpak-builder-tools","homepage":null,"size":12,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":5,"license":null,"forks":1,"open_issues":5,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/6"},"html":{"href":"https://github.com/flatpak/flatpak-builder-tools/pull/6"},"issue":{"href":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/6"},"comments":{"href":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/6/comments"},"review_comments":{"href":"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/6/comments"},"review_comment":{"href":"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/6/commits"},"statuses":{"href":"https://api.github.com/repos/flatpak/flatpak-builder-tools/statuses/71b6ce1d149f7bc88e630208299455b41217d462"}},"author_association":"MEMBER"}],"platform":"github","type":"development","tags":["utopian-io","flatpak","python","linux"],"moderator":{"account":"dutch","reviewed":true,"pending":false,"flagged":false}}
Transaction InfoBlock #18752649/Trx efafb2b29a3ef3dc20f19d3169c719eb1e5e4261
View Raw JSON Data
{
  "trx_id": "efafb2b29a3ef3dc20f19d3169c719eb1e5e4261",
  "block": 18752649,
  "trx_in_block": 14,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T22:47:42",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "utopian-io",
      "author": "tingping",
      "permlink": "create-script-to-generate-flatpak-manifest-from-pip-packages",
      "title": "Create script to generate Flatpak manifest from PIP packages",
      "body": "The tool to generate flatpaks, `flatpak-builder` is designed to be sandboxed and generate reproducible results; The downside to this is that some existing tooling such as `npm` or `pip` don't necessarily map well to this as they by default download dependencies and packages generally have a lot of dependencies which you wouldn't want to list by hand.\n\nSo the solution to this is simply to have automated tooling to generate a `json` file containing all of the dependencies and include them in your manifest.\n\nThe information we need to do this is the list of packages, their sha256, and a URL to download them. Thankfully `pip` has a `download` option which resolves the list of all dependencies and downloads them for us so we can get the hash ourselves.\n\nTo get the download URL we have to use pypi's API at `https://pypi.python.org/pypi/{package_name}/json` and find the releases url that matches the filename `pip` grabbed earlier which is easy enough.\n\nNow that `flatpak-builder` can reliably download static versions of dependencies we need to install it. The `pip install` tool does allow looking up packages in a local directory so we can pass it `--no-index --find-links \"file://${PWD}\"`. \n\nThis solution did not turn out perfectly though. For a reason I've yet to track down some packages, for example `mypy`, have actual dependencies that are not listed or pulled in which is frustrating and currently just worked around by allowing you to pass multiple packages at once so you can manually specify anything missing which seems acceptable for now.\n\nThe end result looks like this: \n\n```json\n{\n    \"name\": \"jedi\",\n    \"buildsystem\": \"simple\",\n    \"build-commands\": [\n        \"pip3 install --no-index --find-links \\\"file://${PWD}\\\" --prefix=/app jedi\"\n    ],\n    \"sources\": [\n        {\n            \"type\": \"file\",\n            \"url\": \"https://pypi.python.org/packages/14/3b/15cfd9c7a8bd9e3a2fe956e20fbc4e7c5768e06aea347d8eb68a05a71653/parso-0.1.1.tar.gz\",\n            \"sha256\": \"5815f3fe254e5665f3c5d6f54f086c2502035cb631a91341591b5a564203cffb\"\n        },\n        {\n            \"type\": \"file\",\n            \"url\": \"https://pypi.python.org/packages/d2/41/430b325e411d564b1afc37bc7286c3549f4c415ada750a617fb1943c593d/jedi-0.11.1.tar.gz\",\n            \"sha256\": \"d6e799d04d1ade9459ed0f20de47c32f2285438956a677d083d3c98def59fa97\"\n        }\n    ]\n}\n```\n\nMerge request: https://github.com/flatpak/flatpak-builder-tools/pull/6\n\n<br /><hr/><em>Posted on <a href=\"https://utopian.io/utopian-io/@tingping/create-script-to-generate-flatpak-manifest-from-pip-packages\">Utopian.io -  Rewarding Open Source Contributors</a></em><hr/>",
      "json_metadata": "{\"community\":\"utopian\",\"app\":\"utopian/1.0.0\",\"format\":\"markdown\",\"repository\":{\"id\":114991815,\"name\":\"flatpak-builder-tools\",\"full_name\":\"flatpak/flatpak-builder-tools\",\"owner\":{\"login\":\"flatpak\",\"id\":19473042,\"avatar_url\":\"https://avatars0.githubusercontent.com/u/19473042?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/flatpak\",\"html_url\":\"https://github.com/flatpak\",\"followers_url\":\"https://api.github.com/users/flatpak/followers\",\"following_url\":\"https://api.github.com/users/flatpak/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/flatpak/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/flatpak/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/flatpak/subscriptions\",\"organizations_url\":\"https://api.github.com/users/flatpak/orgs\",\"repos_url\":\"https://api.github.com/users/flatpak/repos\",\"events_url\":\"https://api.github.com/users/flatpak/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/flatpak/received_events\",\"type\":\"Organization\",\"site_admin\":false},\"private\":false,\"html_url\":\"https://github.com/flatpak/flatpak-builder-tools\",\"description\":\"Various helper tools for flatpak-builder\",\"fork\":false,\"url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools\",\"forks_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/forks\",\"keys_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/teams\",\"hooks_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/hooks\",\"issue_events_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/events\",\"assignees_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/tags\",\"blobs_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/languages\",\"stargazers_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/stargazers\",\"contributors_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/contributors\",\"subscribers_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/subscribers\",\"subscription_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/subscription\",\"commits_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/merges\",\"archive_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/downloads\",\"issues_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/deployments\",\"created_at\":\"2017-12-21T10:08:07Z\",\"updated_at\":\"2017-12-31T18:07:12Z\",\"pushed_at\":\"2017-12-31T18:07:38Z\",\"git_url\":\"git://github.com/flatpak/flatpak-builder-tools.git\",\"ssh_url\":\"[email protected]:flatpak/flatpak-builder-tools.git\",\"clone_url\":\"https://github.com/flatpak/flatpak-builder-tools.git\",\"svn_url\":\"https://github.com/flatpak/flatpak-builder-tools\",\"homepage\":null,\"size\":12,\"stargazers_count\":0,\"watchers_count\":0,\"language\":\"Python\",\"has_issues\":true,\"has_projects\":false,\"has_downloads\":true,\"has_wiki\":false,\"has_pages\":false,\"forks_count\":1,\"mirror_url\":null,\"archived\":false,\"open_issues_count\":5,\"license\":null,\"forks\":1,\"open_issues\":5,\"watchers\":0,\"default_branch\":\"master\",\"score\":18.22775},\"pullRequests\":[{\"url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/6\",\"id\":160626966,\"html_url\":\"https://github.com/flatpak/flatpak-builder-tools/pull/6\",\"diff_url\":\"https://github.com/flatpak/flatpak-builder-tools/pull/6.diff\",\"patch_url\":\"https://github.com/flatpak/flatpak-builder-tools/pull/6.patch\",\"issue_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/6\",\"number\":6,\"state\":\"closed\",\"locked\":false,\"title\":\"Add PIP generator\",\"user\":{\"login\":\"TingPing\",\"id\":798838,\"avatar_url\":\"https://avatars0.githubusercontent.com/u/798838?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/TingPing\",\"html_url\":\"https://github.com/TingPing\",\"followers_url\":\"https://api.github.com/users/TingPing/followers\",\"following_url\":\"https://api.github.com/users/TingPing/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/TingPing/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/TingPing/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/TingPing/subscriptions\",\"organizations_url\":\"https://api.github.com/users/TingPing/orgs\",\"repos_url\":\"https://api.github.com/users/TingPing/repos\",\"events_url\":\"https://api.github.com/users/TingPing/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/TingPing/received_events\",\"type\":\"User\",\"site_admin\":false},\"body\":\"Tool to generate a manifest from pip packages.\",\"created_at\":\"2017-12-31T18:04:37Z\",\"updated_at\":\"2017-12-31T18:09:06Z\",\"closed_at\":\"2017-12-31T18:04:49Z\",\"merged_at\":\"2017-12-31T18:04:49Z\",\"merge_commit_sha\":\"21da05c0246aae5752c460ea84ada9148873b00b\",\"assignee\":null,\"assignees\":[],\"requested_reviewers\":[],\"milestone\":null,\"commits_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/6/commits\",\"review_comments_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/6/comments\",\"review_comment_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/comments{/number}\",\"comments_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/6/comments\",\"statuses_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/statuses/71b6ce1d149f7bc88e630208299455b41217d462\",\"head\":{\"label\":\"flatpak:pip\",\"ref\":\"pip\",\"sha\":\"71b6ce1d149f7bc88e630208299455b41217d462\",\"user\":{\"login\":\"flatpak\",\"id\":19473042,\"avatar_url\":\"https://avatars0.githubusercontent.com/u/19473042?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/flatpak\",\"html_url\":\"https://github.com/flatpak\",\"followers_url\":\"https://api.github.com/users/flatpak/followers\",\"following_url\":\"https://api.github.com/users/flatpak/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/flatpak/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/flatpak/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/flatpak/subscriptions\",\"organizations_url\":\"https://api.github.com/users/flatpak/orgs\",\"repos_url\":\"https://api.github.com/users/flatpak/repos\",\"events_url\":\"https://api.github.com/users/flatpak/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/flatpak/received_events\",\"type\":\"Organization\",\"site_admin\":false},\"repo\":{\"id\":114991815,\"name\":\"flatpak-builder-tools\",\"full_name\":\"flatpak/flatpak-builder-tools\",\"owner\":{\"login\":\"flatpak\",\"id\":19473042,\"avatar_url\":\"https://avatars0.githubusercontent.com/u/19473042?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/flatpak\",\"html_url\":\"https://github.com/flatpak\",\"followers_url\":\"https://api.github.com/users/flatpak/followers\",\"following_url\":\"https://api.github.com/users/flatpak/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/flatpak/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/flatpak/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/flatpak/subscriptions\",\"organizations_url\":\"https://api.github.com/users/flatpak/orgs\",\"repos_url\":\"https://api.github.com/users/flatpak/repos\",\"events_url\":\"https://api.github.com/users/flatpak/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/flatpak/received_events\",\"type\":\"Organization\",\"site_admin\":false},\"private\":false,\"html_url\":\"https://github.com/flatpak/flatpak-builder-tools\",\"description\":\"Various helper tools for flatpak-builder\",\"fork\":false,\"url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools\",\"forks_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/forks\",\"keys_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/teams\",\"hooks_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/hooks\",\"issue_events_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/events\",\"assignees_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/tags\",\"blobs_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/languages\",\"stargazers_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/stargazers\",\"contributors_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/contributors\",\"subscribers_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/subscribers\",\"subscription_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/subscription\",\"commits_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/merges\",\"archive_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/downloads\",\"issues_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/deployments\",\"created_at\":\"2017-12-21T10:08:07Z\",\"updated_at\":\"2017-12-31T18:07:12Z\",\"pushed_at\":\"2017-12-31T18:07:38Z\",\"git_url\":\"git://github.com/flatpak/flatpak-builder-tools.git\",\"ssh_url\":\"[email protected]:flatpak/flatpak-builder-tools.git\",\"clone_url\":\"https://github.com/flatpak/flatpak-builder-tools.git\",\"svn_url\":\"https://github.com/flatpak/flatpak-builder-tools\",\"homepage\":null,\"size\":12,\"stargazers_count\":0,\"watchers_count\":0,\"language\":\"Python\",\"has_issues\":true,\"has_projects\":false,\"has_downloads\":true,\"has_wiki\":false,\"has_pages\":false,\"forks_count\":1,\"mirror_url\":null,\"archived\":false,\"open_issues_count\":5,\"license\":null,\"forks\":1,\"open_issues\":5,\"watchers\":0,\"default_branch\":\"master\"}},\"base\":{\"label\":\"flatpak:master\",\"ref\":\"master\",\"sha\":\"21875364f78fc6076e4e98739fa143b2b38ff9a2\",\"user\":{\"login\":\"flatpak\",\"id\":19473042,\"avatar_url\":\"https://avatars0.githubusercontent.com/u/19473042?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/flatpak\",\"html_url\":\"https://github.com/flatpak\",\"followers_url\":\"https://api.github.com/users/flatpak/followers\",\"following_url\":\"https://api.github.com/users/flatpak/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/flatpak/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/flatpak/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/flatpak/subscriptions\",\"organizations_url\":\"https://api.github.com/users/flatpak/orgs\",\"repos_url\":\"https://api.github.com/users/flatpak/repos\",\"events_url\":\"https://api.github.com/users/flatpak/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/flatpak/received_events\",\"type\":\"Organization\",\"site_admin\":false},\"repo\":{\"id\":114991815,\"name\":\"flatpak-builder-tools\",\"full_name\":\"flatpak/flatpak-builder-tools\",\"owner\":{\"login\":\"flatpak\",\"id\":19473042,\"avatar_url\":\"https://avatars0.githubusercontent.com/u/19473042?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/flatpak\",\"html_url\":\"https://github.com/flatpak\",\"followers_url\":\"https://api.github.com/users/flatpak/followers\",\"following_url\":\"https://api.github.com/users/flatpak/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/flatpak/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/flatpak/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/flatpak/subscriptions\",\"organizations_url\":\"https://api.github.com/users/flatpak/orgs\",\"repos_url\":\"https://api.github.com/users/flatpak/repos\",\"events_url\":\"https://api.github.com/users/flatpak/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/flatpak/received_events\",\"type\":\"Organization\",\"site_admin\":false},\"private\":false,\"html_url\":\"https://github.com/flatpak/flatpak-builder-tools\",\"description\":\"Various helper tools for flatpak-builder\",\"fork\":false,\"url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools\",\"forks_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/forks\",\"keys_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/teams\",\"hooks_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/hooks\",\"issue_events_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/events\",\"assignees_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/tags\",\"blobs_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/languages\",\"stargazers_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/stargazers\",\"contributors_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/contributors\",\"subscribers_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/subscribers\",\"subscription_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/subscription\",\"commits_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/merges\",\"archive_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/downloads\",\"issues_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/deployments\",\"created_at\":\"2017-12-21T10:08:07Z\",\"updated_at\":\"2017-12-31T18:07:12Z\",\"pushed_at\":\"2017-12-31T18:07:38Z\",\"git_url\":\"git://github.com/flatpak/flatpak-builder-tools.git\",\"ssh_url\":\"[email protected]:flatpak/flatpak-builder-tools.git\",\"clone_url\":\"https://github.com/flatpak/flatpak-builder-tools.git\",\"svn_url\":\"https://github.com/flatpak/flatpak-builder-tools\",\"homepage\":null,\"size\":12,\"stargazers_count\":0,\"watchers_count\":0,\"language\":\"Python\",\"has_issues\":true,\"has_projects\":false,\"has_downloads\":true,\"has_wiki\":false,\"has_pages\":false,\"forks_count\":1,\"mirror_url\":null,\"archived\":false,\"open_issues_count\":5,\"license\":null,\"forks\":1,\"open_issues\":5,\"watchers\":0,\"default_branch\":\"master\"}},\"_links\":{\"self\":{\"href\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/6\"},\"html\":{\"href\":\"https://github.com/flatpak/flatpak-builder-tools/pull/6\"},\"issue\":{\"href\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/6\"},\"comments\":{\"href\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/6/comments\"},\"review_comments\":{\"href\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/6/comments\"},\"review_comment\":{\"href\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/comments{/number}\"},\"commits\":{\"href\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/6/commits\"},\"statuses\":{\"href\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/statuses/71b6ce1d149f7bc88e630208299455b41217d462\"}},\"author_association\":\"MEMBER\"}],\"platform\":\"github\",\"type\":\"development\",\"tags\":[\"utopian-io\",\"flatpak\",\"python\",\"linux\"],\"moderator\":{\"account\":\"dutch\",\"reviewed\":true,\"pending\":false,\"flagged\":false}}"
    }
  ]
}
tingpingclaimed reward balance: 23.187 SBD, 4.236 SP
2018/01/06 22:14:51
accounttingping
reward steem0.000 STEEM
reward sbd23.187 SBD
reward vests6889.728701 VESTS
Transaction InfoBlock #18751994/Trx 0b57584f3d5515ebcd90609757fbbf3affdf3acf
View Raw JSON Data
{
  "trx_id": "0b57584f3d5515ebcd90609757fbbf3affdf3acf",
  "block": 18751994,
  "trx_in_block": 25,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T22:14:51",
  "op": [
    "claim_reward_balance",
    {
      "account": "tingping",
      "reward_steem": "0.000 STEEM",
      "reward_sbd": "23.187 SBD",
      "reward_vests": "6889.728701 VESTS"
    }
  ]
}
tingpingreceived 23.187 SBD, 4.236 SP author reward for @tingping / automatically-installing-gtk-themes-in-flatpak
2018/01/05 23:29:15
authortingping
permlinkautomatically-installing-gtk-themes-in-flatpak
sbd payout23.187 SBD
steem payout0.000 STEEM
vesting payout6889.728701 VESTS
Transaction InfoBlock #18724699/Virtual Operation #13
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 18724699,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 13,
  "timestamp": "2018-01-05T23:29:15",
  "op": [
    "author_reward",
    {
      "author": "tingping",
      "permlink": "automatically-installing-gtk-themes-in-flatpak",
      "sbd_payout": "23.187 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "6889.728701 VESTS"
    }
  ]
}
utopian.payreceived 2.823 SP benefactor reward from @tingping
2018/01/05 23:29:15
benefactorutopian.pay
authortingping
permlinkautomatically-installing-gtk-themes-in-flatpak
sbd payout0.000 SBD
steem payout0.000 STEEM
vesting payout4591.103782 VESTS
Transaction InfoBlock #18724699/Virtual Operation #12
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 18724699,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 12,
  "timestamp": "2018-01-05T23:29:15",
  "op": [
    "comment_benefactor_reward",
    {
      "benefactor": "utopian.pay",
      "author": "tingping",
      "permlink": "automatically-installing-gtk-themes-in-flatpak",
      "sbd_payout": "0.000 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "4591.103782 VESTS"
    }
  ]
}
tingpingsent 12.280 SBD to @blocktrades- "d159f505-0012-4171-9b61-4836698fd5f8"
2018/01/03 01:04:45
fromtingping
toblocktrades
amount12.280 SBD
memod159f505-0012-4171-9b61-4836698fd5f8
Transaction InfoBlock #18640242/Trx 974fef39289eb963a2f18bf4bf0de39a23682e3d
View Raw JSON Data
{
  "trx_id": "974fef39289eb963a2f18bf4bf0de39a23682e3d",
  "block": 18640242,
  "trx_in_block": 22,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-03T01:04:45",
  "op": [
    "transfer",
    {
      "from": "tingping",
      "to": "blocktrades",
      "amount": "12.280 SBD",
      "memo": "d159f505-0012-4171-9b61-4836698fd5f8"
    }
  ]
}
2018/01/02 16:53:24
votertravelpamore
authortingping
permlinkcreate-script-to-generate-flatpak-manifest-from-pip-packages
weight10000 (100.00%)
Transaction InfoBlock #18630416/Trx 48071d9de41a5afb1e2d518806322d8f72f1cc9d
View Raw JSON Data
{
  "trx_id": "48071d9de41a5afb1e2d518806322d8f72f1cc9d",
  "block": 18630416,
  "trx_in_block": 31,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-02T16:53:24",
  "op": [
    "vote",
    {
      "voter": "travelpamore",
      "author": "tingping",
      "permlink": "create-script-to-generate-flatpak-manifest-from-pip-packages",
      "weight": 10000
    }
  ]
}
2018/01/02 01:54:21
parent authordutch
parent permlinkre-tingping-create-script-to-generate-flatpak-manifest-from-pip-packages-20180101t112340294z
authortingping
permlinkre-dutch-re-tingping-create-script-to-generate-flatpak-manifest-from-pip-packages-20180101t205806722z
title
body@@ -66,8 +66,46 @@ others? +%0A%0AEDIT: Nevermind it was just delayed.
json metadata{"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"}
Transaction InfoBlock #18612440/Trx 22fb7a84947646f9083afcc8c1035c098a77bd20
View Raw JSON Data
{
  "trx_id": "22fb7a84947646f9083afcc8c1035c098a77bd20",
  "block": 18612440,
  "trx_in_block": 55,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-02T01:54:21",
  "op": [
    "comment",
    {
      "parent_author": "dutch",
      "parent_permlink": "re-tingping-create-script-to-generate-flatpak-manifest-from-pip-packages-20180101t112340294z",
      "author": "tingping",
      "permlink": "re-dutch-re-tingping-create-script-to-generate-flatpak-manifest-from-pip-packages-20180101t205806722z",
      "title": "",
      "body": "@@ -66,8 +66,46 @@\n  others?\n+%0A%0AEDIT: Nevermind it was just delayed.\n",
      "json_metadata": "{\"tags\":[\"utopian-io\"],\"community\":\"utopian\",\"app\":\"utopian/1.0.0\"}"
    }
  ]
}
2018/01/02 00:14:39
parent authortingping
parent permlinkcreate-script-to-generate-flatpak-manifest-from-pip-packages
authorutopian-io
permlinkre-tingping-create-script-to-generate-flatpak-manifest-from-pip-packages-20180102t001439418z
title
body### Hey @tingping I am @utopian-io. I have just upvoted you! #### Achievements - You have less than 500 followers. Just gave you a gift to help you succeed! - Seems like you contribute quite often. AMAZING! #### Community-Driven Witness! I am the first and only Steem Community-Driven Witness. <a href="https://discord.gg/zTrEMqB">Participate on Discord</a>. Lets GROW TOGETHER! - <a href="https://v2.steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1">Vote for my Witness With SteemConnect</a> - <a href="https://v2.steemconnect.com/sign/account-witness-proxy?proxy=utopian-io&approve=1">Proxy vote to Utopian Witness with SteemConnect</a> - Or vote/proxy on <a href="https://steemit.com/~witnesses">Steemit Witnesses</a> [![mooncryption-utopian-witness-gif](https://steemitimages.com/DQmYPUuQRptAqNBCQRwQjKWAqWU3zJkL3RXVUtEKVury8up/mooncryption-s-utopian-io-witness-gif.gif)](https://steemit.com/~witnesses) **Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x**
json metadata{"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"}
Transaction InfoBlock #18610446/Trx 27a6162c20f2ffb6d6fb20b47c6949f4b009759e
View Raw JSON Data
{
  "trx_id": "27a6162c20f2ffb6d6fb20b47c6949f4b009759e",
  "block": 18610446,
  "trx_in_block": 24,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-02T00:14:39",
  "op": [
    "comment",
    {
      "parent_author": "tingping",
      "parent_permlink": "create-script-to-generate-flatpak-manifest-from-pip-packages",
      "author": "utopian-io",
      "permlink": "re-tingping-create-script-to-generate-flatpak-manifest-from-pip-packages-20180102t001439418z",
      "title": "",
      "body": "### Hey @tingping I am @utopian-io. I have just upvoted you!\n#### Achievements\n- You have less than 500 followers. Just gave you a gift to help you succeed!\n- Seems like you contribute quite often. AMAZING!\n#### Community-Driven Witness!\nI am the first and only Steem Community-Driven Witness. <a href=\"https://discord.gg/zTrEMqB\">Participate on Discord</a>. Lets GROW TOGETHER!\n- <a href=\"https://v2.steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1\">Vote for my Witness With SteemConnect</a>\n- <a href=\"https://v2.steemconnect.com/sign/account-witness-proxy?proxy=utopian-io&approve=1\">Proxy vote to Utopian Witness with SteemConnect</a>\n- Or vote/proxy on <a href=\"https://steemit.com/~witnesses\">Steemit Witnesses</a>\n\n[![mooncryption-utopian-witness-gif](https://steemitimages.com/DQmYPUuQRptAqNBCQRwQjKWAqWU3zJkL3RXVUtEKVury8up/mooncryption-s-utopian-io-witness-gif.gif)](https://steemit.com/~witnesses)\n\n**Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x**",
      "json_metadata": "{\"tags\":[\"utopian-io\"],\"community\":\"utopian\",\"app\":\"utopian/1.0.0\"}"
    }
  ]
}
2018/01/02 00:14:36
voterutopian-io
authortingping
permlinkcreate-script-to-generate-flatpak-manifest-from-pip-packages
weight537 (5.37%)
Transaction InfoBlock #18610445/Trx d6bdfc71f51318dba871efad20ddd1cfc2d831cc
View Raw JSON Data
{
  "trx_id": "d6bdfc71f51318dba871efad20ddd1cfc2d831cc",
  "block": 18610445,
  "trx_in_block": 35,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-02T00:14:36",
  "op": [
    "vote",
    {
      "voter": "utopian-io",
      "author": "tingping",
      "permlink": "create-script-to-generate-flatpak-manifest-from-pip-packages",
      "weight": 537
    }
  ]
}
2018/01/01 20:58:06
parent authordutch
parent permlinkre-tingping-create-script-to-generate-flatpak-manifest-from-pip-packages-20180101t112340294z
authortingping
permlinkre-dutch-re-tingping-create-script-to-generate-flatpak-manifest-from-pip-packages-20180101t205806722z
title
bodyDo you know why the payout of this post is so much lower than the others?
json metadata{"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"}
Transaction InfoBlock #18606517/Trx 88ef85cae8c7573f30bc053a5a43b65a80b0755b
View Raw JSON Data
{
  "trx_id": "88ef85cae8c7573f30bc053a5a43b65a80b0755b",
  "block": 18606517,
  "trx_in_block": 41,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-01T20:58:06",
  "op": [
    "comment",
    {
      "parent_author": "dutch",
      "parent_permlink": "re-tingping-create-script-to-generate-flatpak-manifest-from-pip-packages-20180101t112340294z",
      "author": "tingping",
      "permlink": "re-dutch-re-tingping-create-script-to-generate-flatpak-manifest-from-pip-packages-20180101t205806722z",
      "title": "",
      "body": "Do you know why the payout of this post is so much lower than the others?",
      "json_metadata": "{\"tags\":[\"utopian-io\"],\"community\":\"utopian\",\"app\":\"utopian/1.0.0\"}"
    }
  ]
}
2018/01/01 20:25:06
voterrufans
authortingping
permlinkcreate-script-to-generate-flatpak-manifest-from-pip-packages
weight10000 (100.00%)
Transaction InfoBlock #18605857/Trx dd8e9798ebbf682095a07d189f2665771625e545
View Raw JSON Data
{
  "trx_id": "dd8e9798ebbf682095a07d189f2665771625e545",
  "block": 18605857,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-01T20:25:06",
  "op": [
    "vote",
    {
      "voter": "rufans",
      "author": "tingping",
      "permlink": "create-script-to-generate-flatpak-manifest-from-pip-packages",
      "weight": 10000
    }
  ]
}
2018/01/01 19:02:48
voterfavcau
authortingping
permlinkcreate-script-to-generate-flatpak-manifest-from-pip-packages
weight10000 (100.00%)
Transaction InfoBlock #18604213/Trx eb93dce89d5aa14afab23dd31cf6bcb3ad27258f
View Raw JSON Data
{
  "trx_id": "eb93dce89d5aa14afab23dd31cf6bcb3ad27258f",
  "block": 18604213,
  "trx_in_block": 30,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-01T19:02:48",
  "op": [
    "vote",
    {
      "voter": "favcau",
      "author": "tingping",
      "permlink": "create-script-to-generate-flatpak-manifest-from-pip-packages",
      "weight": 10000
    }
  ]
}
2018/01/01 18:39:00
votercurtaintwitcher
authortingping
permlinkcreate-script-to-generate-flatpak-manifest-from-pip-packages
weight10000 (100.00%)
Transaction InfoBlock #18603746/Trx bbb47042ab0a132812c4c8f7622b7660972bb2cf
View Raw JSON Data
{
  "trx_id": "bbb47042ab0a132812c4c8f7622b7660972bb2cf",
  "block": 18603746,
  "trx_in_block": 18,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-01T18:39:00",
  "op": [
    "vote",
    {
      "voter": "curtaintwitcher",
      "author": "tingping",
      "permlink": "create-script-to-generate-flatpak-manifest-from-pip-packages",
      "weight": 10000
    }
  ]
}
2018/01/01 17:57:39
voterminiature-tiger
authortingping
permlinkcreate-script-to-generate-flatpak-manifest-from-pip-packages
weight2000 (20.00%)
Transaction InfoBlock #18602957/Trx 5b3b05260f07ccf432eaf642e672c71ad0327298
View Raw JSON Data
{
  "trx_id": "5b3b05260f07ccf432eaf642e672c71ad0327298",
  "block": 18602957,
  "trx_in_block": 30,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-01T17:57:39",
  "op": [
    "vote",
    {
      "voter": "miniature-tiger",
      "author": "tingping",
      "permlink": "create-script-to-generate-flatpak-manifest-from-pip-packages",
      "weight": 2000
    }
  ]
}
2018/01/01 13:56:00
votermkt
authortingping
permlinkcreate-script-to-generate-flatpak-manifest-from-pip-packages
weight5000 (50.00%)
Transaction InfoBlock #18598303/Trx e21b176136dcd62f8f1900e489b19c48d54e1360
View Raw JSON Data
{
  "trx_id": "e21b176136dcd62f8f1900e489b19c48d54e1360",
  "block": 18598303,
  "trx_in_block": 38,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-01T13:56:00",
  "op": [
    "vote",
    {
      "voter": "mkt",
      "author": "tingping",
      "permlink": "create-script-to-generate-flatpak-manifest-from-pip-packages",
      "weight": 5000
    }
  ]
}
tingpingclaimed reward balance: 12.280 SBD, 5.470 SP
2018/01/01 13:40:33
accounttingping
reward steem0.000 STEEM
reward sbd12.280 SBD
reward vests8895.333572 VESTS
Transaction InfoBlock #18597994/Trx 518a37679ec4ec84eccf4c5a7ba998050a3a80d4
View Raw JSON Data
{
  "trx_id": "518a37679ec4ec84eccf4c5a7ba998050a3a80d4",
  "block": 18597994,
  "trx_in_block": 9,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-01T13:40:33",
  "op": [
    "claim_reward_balance",
    {
      "account": "tingping",
      "reward_steem": "0.000 STEEM",
      "reward_sbd": "12.280 SBD",
      "reward_vests": "8895.333572 VESTS"
    }
  ]
}
2018/01/01 12:37:39
voterjaff8
authortingping
permlinkcreate-script-to-generate-flatpak-manifest-from-pip-packages
weight10000 (100.00%)
Transaction InfoBlock #18596737/Trx 0736fd23965b37511784531791b719f6803201a1
View Raw JSON Data
{
  "trx_id": "0736fd23965b37511784531791b719f6803201a1",
  "block": 18596737,
  "trx_in_block": 21,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-01T12:37:39",
  "op": [
    "vote",
    {
      "voter": "jaff8",
      "author": "tingping",
      "permlink": "create-script-to-generate-flatpak-manifest-from-pip-packages",
      "weight": 10000
    }
  ]
}
2018/01/01 11:25:06
voterminnowhub
authortingping
permlinkcreate-script-to-generate-flatpak-manifest-from-pip-packages
weight3900 (39.00%)
Transaction InfoBlock #18595286/Trx 61d27e845d1a5bd1baa5965a527d15f7c07c3cbc
View Raw JSON Data
{
  "trx_id": "61d27e845d1a5bd1baa5965a527d15f7c07c3cbc",
  "block": 18595286,
  "trx_in_block": 47,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-01T11:25:06",
  "op": [
    "vote",
    {
      "voter": "minnowhub",
      "author": "tingping",
      "permlink": "create-script-to-generate-flatpak-manifest-from-pip-packages",
      "weight": 3900
    }
  ]
}
2018/01/01 11:23:39
parent authortingping
parent permlinkcreate-script-to-generate-flatpak-manifest-from-pip-packages
authordutch
permlinkre-tingping-create-script-to-generate-flatpak-manifest-from-pip-packages-20180101t112340294z
title
bodyThank you for the contribution. It has been approved. You can contact us on [Discord](https://discord.gg/UCvqCsx). **[[utopian-moderator]](https://utopian.io/moderators)**
json metadata{"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"}
Transaction InfoBlock #18595257/Trx 3f873a319606182c61088f2e0adf30bda2dbadd4
View Raw JSON Data
{
  "trx_id": "3f873a319606182c61088f2e0adf30bda2dbadd4",
  "block": 18595257,
  "trx_in_block": 29,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-01T11:23:39",
  "op": [
    "comment",
    {
      "parent_author": "tingping",
      "parent_permlink": "create-script-to-generate-flatpak-manifest-from-pip-packages",
      "author": "dutch",
      "permlink": "re-tingping-create-script-to-generate-flatpak-manifest-from-pip-packages-20180101t112340294z",
      "title": "",
      "body": "Thank you for the contribution. It has been approved.\n\nYou can contact us on [Discord](https://discord.gg/UCvqCsx).\n**[[utopian-moderator]](https://utopian.io/moderators)**",
      "json_metadata": "{\"tags\":[\"utopian-io\"],\"community\":\"utopian\",\"app\":\"utopian/1.0.0\"}"
    }
  ]
}
tingpingreceived 12.280 SBD, 5.449 SP author reward for @tingping / adding-search-to-the-flatpak-cli
2018/01/01 10:33:15
authortingping
permlinkadding-search-to-the-flatpak-cli
sbd payout12.280 SBD
steem payout0.000 STEEM
vesting payout8862.547270 VESTS
Transaction InfoBlock #18594248/Virtual Operation #10
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 18594248,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 10,
  "timestamp": "2018-01-01T10:33:15",
  "op": [
    "author_reward",
    {
      "author": "tingping",
      "permlink": "adding-search-to-the-flatpak-cli",
      "sbd_payout": "12.280 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "8862.547270 VESTS"
    }
  ]
}
utopian.payreceived 3.631 SP benefactor reward from @tingping
2018/01/01 10:33:15
benefactorutopian.pay
authortingping
permlinkadding-search-to-the-flatpak-cli
sbd payout0.000 SBD
steem payout0.000 STEEM
vesting payout5905.632654 VESTS
Transaction InfoBlock #18594248/Virtual Operation #9
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 18594248,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 9,
  "timestamp": "2018-01-01T10:33:15",
  "op": [
    "comment_benefactor_reward",
    {
      "benefactor": "utopian.pay",
      "author": "tingping",
      "permlink": "adding-search-to-the-flatpak-cli",
      "sbd_payout": "0.000 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "5905.632654 VESTS"
    }
  ]
}
tingpingreceived 0.020 SP curation reward for @tingping / adding-search-to-the-flatpak-cli
2018/01/01 10:33:15
curatortingping
reward32.786302 VESTS
comment authortingping
comment permlinkadding-search-to-the-flatpak-cli
Transaction InfoBlock #18594248/Virtual Operation #6
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 18594248,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 6,
  "timestamp": "2018-01-01T10:33:15",
  "op": [
    "curation_reward",
    {
      "curator": "tingping",
      "reward": "32.786302 VESTS",
      "comment_author": "tingping",
      "comment_permlink": "adding-search-to-the-flatpak-cli"
    }
  ]
}
2017/12/31 19:29:57
votersandan
authortingping
permlinkcreate-script-to-generate-flatpak-manifest-from-pip-packages
weight10000 (100.00%)
Transaction InfoBlock #18576184/Trx b4f221fb365042d28f2b66e91b9bbe376557c45b
View Raw JSON Data
{
  "trx_id": "b4f221fb365042d28f2b66e91b9bbe376557c45b",
  "block": 18576184,
  "trx_in_block": 46,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-12-31T19:29:57",
  "op": [
    "vote",
    {
      "voter": "sandan",
      "author": "tingping",
      "permlink": "create-script-to-generate-flatpak-manifest-from-pip-packages",
      "weight": 10000
    }
  ]
}
2017/12/31 19:11:36
voterst3llar
authortingping
permlinkcreate-script-to-generate-flatpak-manifest-from-pip-packages
weight400 (4.00%)
Transaction InfoBlock #18575817/Trx 9724ef5e60e2142131816c7ede46dc0736cd1d44
View Raw JSON Data
{
  "trx_id": "9724ef5e60e2142131816c7ede46dc0736cd1d44",
  "block": 18575817,
  "trx_in_block": 52,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-12-31T19:11:36",
  "op": [
    "vote",
    {
      "voter": "st3llar",
      "author": "tingping",
      "permlink": "create-script-to-generate-flatpak-manifest-from-pip-packages",
      "weight": 400
    }
  ]
}
2017/12/31 18:54:03
authortingping
permlinkcreate-script-to-generate-flatpak-manifest-from-pip-packages
max accepted payout1000000.000 SBD
percent steem dollars10000
allow votestrue
allow curation rewardstrue
extensions[[0,{"beneficiaries":[{"account":"utopian.pay","weight":2500}]}]]
Transaction InfoBlock #18575466/Trx 2459299bbba66abd378227ce6e2daafbd2565e23
View Raw JSON Data
{
  "trx_id": "2459299bbba66abd378227ce6e2daafbd2565e23",
  "block": 18575466,
  "trx_in_block": 41,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-12-31T18:54:03",
  "op": [
    "comment_options",
    {
      "author": "tingping",
      "permlink": "create-script-to-generate-flatpak-manifest-from-pip-packages",
      "max_accepted_payout": "1000000.000 SBD",
      "percent_steem_dollars": 10000,
      "allow_votes": true,
      "allow_curation_rewards": true,
      "extensions": [
        [
          0,
          {
            "beneficiaries": [
              {
                "account": "utopian.pay",
                "weight": 2500
              }
            ]
          }
        ]
      ]
    }
  ]
}
2017/12/31 18:54:03
parent author
parent permlinkutopian-io
authortingping
permlinkcreate-script-to-generate-flatpak-manifest-from-pip-packages
titleCreate script to generate Flatpak manifest from PIP packages
bodyThe tool to generate flatpaks, `flatpak-builder` is designed to be sandboxed and generate reproducible results; The downside to this is that some existing tooling such as `npm` or `pip` don't necessarily map well to this as they by default download dependencies and packages generally have a lot of dependencies which you wouldn't want to list by hand. So the solution to this is simply to have automated tooling to generate a `json` file containing all of the dependencies and include them in your manifest. The information we need to do this is the list of packages, their sha256, and a URL to download them. Thankfully `pip` has a `download` option which resolves the list of all dependencies and downloads them for us so we can get the hash ourselves. To get the download URL we have to use pypi's API at `https://pypi.python.org/pypi/{package_name}/json` and find the releases url that matches the filename `pip` grabbed earlier which is easy enough. Now that `flatpak-builder` can reliably download static versions of dependencies we need to install it. The `pip install` tool does allow looking up packages in a local directory so we can pass it `--no-index --find-links "file://${PWD}"`. This solution did not turn out perfectly though. For a reason I've yet to track down some packages, for example `mypy`, have actual dependencies that are not listed or pulled in which is frustrating and currently just worked around by allowing you to pass multiple packages at once so you can manually specify anything missing which seems acceptable for now. The end result looks like this: ```json { "name": "jedi", "buildsystem": "simple", "build-commands": [ "pip3 install --no-index --find-links \"file://${PWD}\" --prefix=/app jedi" ], "sources": [ { "type": "file", "url": "https://pypi.python.org/packages/14/3b/15cfd9c7a8bd9e3a2fe956e20fbc4e7c5768e06aea347d8eb68a05a71653/parso-0.1.1.tar.gz", "sha256": "5815f3fe254e5665f3c5d6f54f086c2502035cb631a91341591b5a564203cffb" }, { "type": "file", "url": "https://pypi.python.org/packages/d2/41/430b325e411d564b1afc37bc7286c3549f4c415ada750a617fb1943c593d/jedi-0.11.1.tar.gz", "sha256": "d6e799d04d1ade9459ed0f20de47c32f2285438956a677d083d3c98def59fa97" } ] } ``` Merge request: https://github.com/flatpak/flatpak-builder-tools/pull/6 <br /><hr/><em>Posted on <a href="https://utopian.io/utopian-io/@tingping/create-script-to-generate-flatpak-manifest-from-pip-packages">Utopian.io - Rewarding Open Source Contributors</a></em><hr/>
json metadata{"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"id":114991815,"name":"flatpak-builder-tools","full_name":"flatpak/flatpak-builder-tools","owner":{"login":"flatpak","id":19473042,"avatar_url":"https://avatars0.githubusercontent.com/u/19473042?v=4","gravatar_id":"","url":"https://api.github.com/users/flatpak","html_url":"https://github.com/flatpak","followers_url":"https://api.github.com/users/flatpak/followers","following_url":"https://api.github.com/users/flatpak/following{/other_user}","gists_url":"https://api.github.com/users/flatpak/gists{/gist_id}","starred_url":"https://api.github.com/users/flatpak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flatpak/subscriptions","organizations_url":"https://api.github.com/users/flatpak/orgs","repos_url":"https://api.github.com/users/flatpak/repos","events_url":"https://api.github.com/users/flatpak/events{/privacy}","received_events_url":"https://api.github.com/users/flatpak/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/flatpak/flatpak-builder-tools","description":"Various helper tools for flatpak-builder","fork":false,"url":"https://api.github.com/repos/flatpak/flatpak-builder-tools","forks_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/forks","keys_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/keys{/key_id}","collaborators_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/teams","hooks_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/hooks","issue_events_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/events{/number}","events_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/events","assignees_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/assignees{/user}","branches_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/branches{/branch}","tags_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/tags","blobs_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/refs{/sha}","trees_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/trees{/sha}","statuses_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/statuses/{sha}","languages_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/languages","stargazers_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/stargazers","contributors_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/contributors","subscribers_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/subscribers","subscription_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/subscription","commits_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/commits{/sha}","git_commits_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/commits{/sha}","comments_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/comments{/number}","issue_comment_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/comments{/number}","contents_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/contents/{+path}","compare_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/compare/{base}...{head}","merges_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/merges","archive_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/downloads","issues_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues{/number}","pulls_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls{/number}","milestones_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/milestones{/number}","notifications_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/labels{/name}","releases_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/releases{/id}","deployments_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/deployments","created_at":"2017-12-21T10:08:07Z","updated_at":"2017-12-31T18:07:12Z","pushed_at":"2017-12-31T18:07:38Z","git_url":"git://github.com/flatpak/flatpak-builder-tools.git","ssh_url":"[email protected]:flatpak/flatpak-builder-tools.git","clone_url":"https://github.com/flatpak/flatpak-builder-tools.git","svn_url":"https://github.com/flatpak/flatpak-builder-tools","homepage":null,"size":12,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":5,"license":null,"forks":1,"open_issues":5,"watchers":0,"default_branch":"master","score":18.22775},"pullRequests":[{"url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/6","id":160626966,"html_url":"https://github.com/flatpak/flatpak-builder-tools/pull/6","diff_url":"https://github.com/flatpak/flatpak-builder-tools/pull/6.diff","patch_url":"https://github.com/flatpak/flatpak-builder-tools/pull/6.patch","issue_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/6","number":6,"state":"closed","locked":false,"title":"Add PIP generator","user":{"login":"TingPing","id":798838,"avatar_url":"https://avatars0.githubusercontent.com/u/798838?v=4","gravatar_id":"","url":"https://api.github.com/users/TingPing","html_url":"https://github.com/TingPing","followers_url":"https://api.github.com/users/TingPing/followers","following_url":"https://api.github.com/users/TingPing/following{/other_user}","gists_url":"https://api.github.com/users/TingPing/gists{/gist_id}","starred_url":"https://api.github.com/users/TingPing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TingPing/subscriptions","organizations_url":"https://api.github.com/users/TingPing/orgs","repos_url":"https://api.github.com/users/TingPing/repos","events_url":"https://api.github.com/users/TingPing/events{/privacy}","received_events_url":"https://api.github.com/users/TingPing/received_events","type":"User","site_admin":false},"body":"Tool to generate a manifest from pip packages.","created_at":"2017-12-31T18:04:37Z","updated_at":"2017-12-31T18:09:06Z","closed_at":"2017-12-31T18:04:49Z","merged_at":"2017-12-31T18:04:49Z","merge_commit_sha":"21da05c0246aae5752c460ea84ada9148873b00b","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/6/commits","review_comments_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/6/comments","review_comment_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/comments{/number}","comments_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/6/comments","statuses_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/statuses/71b6ce1d149f7bc88e630208299455b41217d462","head":{"label":"flatpak:pip","ref":"pip","sha":"71b6ce1d149f7bc88e630208299455b41217d462","user":{"login":"flatpak","id":19473042,"avatar_url":"https://avatars0.githubusercontent.com/u/19473042?v=4","gravatar_id":"","url":"https://api.github.com/users/flatpak","html_url":"https://github.com/flatpak","followers_url":"https://api.github.com/users/flatpak/followers","following_url":"https://api.github.com/users/flatpak/following{/other_user}","gists_url":"https://api.github.com/users/flatpak/gists{/gist_id}","starred_url":"https://api.github.com/users/flatpak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flatpak/subscriptions","organizations_url":"https://api.github.com/users/flatpak/orgs","repos_url":"https://api.github.com/users/flatpak/repos","events_url":"https://api.github.com/users/flatpak/events{/privacy}","received_events_url":"https://api.github.com/users/flatpak/received_events","type":"Organization","site_admin":false},"repo":{"id":114991815,"name":"flatpak-builder-tools","full_name":"flatpak/flatpak-builder-tools","owner":{"login":"flatpak","id":19473042,"avatar_url":"https://avatars0.githubusercontent.com/u/19473042?v=4","gravatar_id":"","url":"https://api.github.com/users/flatpak","html_url":"https://github.com/flatpak","followers_url":"https://api.github.com/users/flatpak/followers","following_url":"https://api.github.com/users/flatpak/following{/other_user}","gists_url":"https://api.github.com/users/flatpak/gists{/gist_id}","starred_url":"https://api.github.com/users/flatpak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flatpak/subscriptions","organizations_url":"https://api.github.com/users/flatpak/orgs","repos_url":"https://api.github.com/users/flatpak/repos","events_url":"https://api.github.com/users/flatpak/events{/privacy}","received_events_url":"https://api.github.com/users/flatpak/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/flatpak/flatpak-builder-tools","description":"Various helper tools for flatpak-builder","fork":false,"url":"https://api.github.com/repos/flatpak/flatpak-builder-tools","forks_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/forks","keys_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/keys{/key_id}","collaborators_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/teams","hooks_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/hooks","issue_events_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/events{/number}","events_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/events","assignees_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/assignees{/user}","branches_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/branches{/branch}","tags_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/tags","blobs_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/refs{/sha}","trees_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/trees{/sha}","statuses_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/statuses/{sha}","languages_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/languages","stargazers_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/stargazers","contributors_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/contributors","subscribers_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/subscribers","subscription_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/subscription","commits_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/commits{/sha}","git_commits_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/commits{/sha}","comments_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/comments{/number}","issue_comment_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/comments{/number}","contents_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/contents/{+path}","compare_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/compare/{base}...{head}","merges_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/merges","archive_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/downloads","issues_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues{/number}","pulls_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls{/number}","milestones_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/milestones{/number}","notifications_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/labels{/name}","releases_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/releases{/id}","deployments_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/deployments","created_at":"2017-12-21T10:08:07Z","updated_at":"2017-12-31T18:07:12Z","pushed_at":"2017-12-31T18:07:38Z","git_url":"git://github.com/flatpak/flatpak-builder-tools.git","ssh_url":"[email protected]:flatpak/flatpak-builder-tools.git","clone_url":"https://github.com/flatpak/flatpak-builder-tools.git","svn_url":"https://github.com/flatpak/flatpak-builder-tools","homepage":null,"size":12,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":5,"license":null,"forks":1,"open_issues":5,"watchers":0,"default_branch":"master"}},"base":{"label":"flatpak:master","ref":"master","sha":"21875364f78fc6076e4e98739fa143b2b38ff9a2","user":{"login":"flatpak","id":19473042,"avatar_url":"https://avatars0.githubusercontent.com/u/19473042?v=4","gravatar_id":"","url":"https://api.github.com/users/flatpak","html_url":"https://github.com/flatpak","followers_url":"https://api.github.com/users/flatpak/followers","following_url":"https://api.github.com/users/flatpak/following{/other_user}","gists_url":"https://api.github.com/users/flatpak/gists{/gist_id}","starred_url":"https://api.github.com/users/flatpak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flatpak/subscriptions","organizations_url":"https://api.github.com/users/flatpak/orgs","repos_url":"https://api.github.com/users/flatpak/repos","events_url":"https://api.github.com/users/flatpak/events{/privacy}","received_events_url":"https://api.github.com/users/flatpak/received_events","type":"Organization","site_admin":false},"repo":{"id":114991815,"name":"flatpak-builder-tools","full_name":"flatpak/flatpak-builder-tools","owner":{"login":"flatpak","id":19473042,"avatar_url":"https://avatars0.githubusercontent.com/u/19473042?v=4","gravatar_id":"","url":"https://api.github.com/users/flatpak","html_url":"https://github.com/flatpak","followers_url":"https://api.github.com/users/flatpak/followers","following_url":"https://api.github.com/users/flatpak/following{/other_user}","gists_url":"https://api.github.com/users/flatpak/gists{/gist_id}","starred_url":"https://api.github.com/users/flatpak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flatpak/subscriptions","organizations_url":"https://api.github.com/users/flatpak/orgs","repos_url":"https://api.github.com/users/flatpak/repos","events_url":"https://api.github.com/users/flatpak/events{/privacy}","received_events_url":"https://api.github.com/users/flatpak/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/flatpak/flatpak-builder-tools","description":"Various helper tools for flatpak-builder","fork":false,"url":"https://api.github.com/repos/flatpak/flatpak-builder-tools","forks_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/forks","keys_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/keys{/key_id}","collaborators_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/teams","hooks_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/hooks","issue_events_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/events{/number}","events_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/events","assignees_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/assignees{/user}","branches_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/branches{/branch}","tags_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/tags","blobs_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/refs{/sha}","trees_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/trees{/sha}","statuses_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/statuses/{sha}","languages_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/languages","stargazers_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/stargazers","contributors_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/contributors","subscribers_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/subscribers","subscription_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/subscription","commits_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/commits{/sha}","git_commits_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/commits{/sha}","comments_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/comments{/number}","issue_comment_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/comments{/number}","contents_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/contents/{+path}","compare_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/compare/{base}...{head}","merges_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/merges","archive_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/downloads","issues_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues{/number}","pulls_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls{/number}","milestones_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/milestones{/number}","notifications_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/labels{/name}","releases_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/releases{/id}","deployments_url":"https://api.github.com/repos/flatpak/flatpak-builder-tools/deployments","created_at":"2017-12-21T10:08:07Z","updated_at":"2017-12-31T18:07:12Z","pushed_at":"2017-12-31T18:07:38Z","git_url":"git://github.com/flatpak/flatpak-builder-tools.git","ssh_url":"[email protected]:flatpak/flatpak-builder-tools.git","clone_url":"https://github.com/flatpak/flatpak-builder-tools.git","svn_url":"https://github.com/flatpak/flatpak-builder-tools","homepage":null,"size":12,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":5,"license":null,"forks":1,"open_issues":5,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/6"},"html":{"href":"https://github.com/flatpak/flatpak-builder-tools/pull/6"},"issue":{"href":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/6"},"comments":{"href":"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/6/comments"},"review_comments":{"href":"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/6/comments"},"review_comment":{"href":"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/6/commits"},"statuses":{"href":"https://api.github.com/repos/flatpak/flatpak-builder-tools/statuses/71b6ce1d149f7bc88e630208299455b41217d462"}},"author_association":"MEMBER"}],"platform":"github","type":"development","tags":["utopian-io","flatpak","python","linux"]}
Transaction InfoBlock #18575466/Trx 2459299bbba66abd378227ce6e2daafbd2565e23
View Raw JSON Data
{
  "trx_id": "2459299bbba66abd378227ce6e2daafbd2565e23",
  "block": 18575466,
  "trx_in_block": 41,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-12-31T18:54:03",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "utopian-io",
      "author": "tingping",
      "permlink": "create-script-to-generate-flatpak-manifest-from-pip-packages",
      "title": "Create script to generate Flatpak manifest from PIP packages",
      "body": "The tool to generate flatpaks, `flatpak-builder` is designed to be sandboxed and generate reproducible results; The downside to this is that some existing tooling such as `npm` or `pip` don't necessarily map well to this as they by default download dependencies and packages generally have a lot of dependencies which you wouldn't want to list by hand.\n\nSo the solution to this is simply to have automated tooling to generate a `json` file containing all of the dependencies and include them in your manifest.\n\nThe information we need to do this is the list of packages, their sha256, and a URL to download them. Thankfully `pip` has a `download` option which resolves the list of all dependencies and downloads them for us so we can get the hash ourselves.\n\nTo get the download URL we have to use pypi's API at `https://pypi.python.org/pypi/{package_name}/json` and find the releases url that matches the filename `pip` grabbed earlier which is easy enough.\n\nNow that `flatpak-builder` can reliably download static versions of dependencies we need to install it. The `pip install` tool does allow looking up packages in a local directory so we can pass it `--no-index --find-links \"file://${PWD}\"`. \n\nThis solution did not turn out perfectly though. For a reason I've yet to track down some packages, for example `mypy`, have actual dependencies that are not listed or pulled in which is frustrating and currently just worked around by allowing you to pass multiple packages at once so you can manually specify anything missing which seems acceptable for now.\n\nThe end result looks like this: \n\n```json\n{\n    \"name\": \"jedi\",\n    \"buildsystem\": \"simple\",\n    \"build-commands\": [\n        \"pip3 install --no-index --find-links \\\"file://${PWD}\\\" --prefix=/app jedi\"\n    ],\n    \"sources\": [\n        {\n            \"type\": \"file\",\n            \"url\": \"https://pypi.python.org/packages/14/3b/15cfd9c7a8bd9e3a2fe956e20fbc4e7c5768e06aea347d8eb68a05a71653/parso-0.1.1.tar.gz\",\n            \"sha256\": \"5815f3fe254e5665f3c5d6f54f086c2502035cb631a91341591b5a564203cffb\"\n        },\n        {\n            \"type\": \"file\",\n            \"url\": \"https://pypi.python.org/packages/d2/41/430b325e411d564b1afc37bc7286c3549f4c415ada750a617fb1943c593d/jedi-0.11.1.tar.gz\",\n            \"sha256\": \"d6e799d04d1ade9459ed0f20de47c32f2285438956a677d083d3c98def59fa97\"\n        }\n    ]\n}\n```\n\nMerge request: https://github.com/flatpak/flatpak-builder-tools/pull/6\n\n<br /><hr/><em>Posted on <a href=\"https://utopian.io/utopian-io/@tingping/create-script-to-generate-flatpak-manifest-from-pip-packages\">Utopian.io -  Rewarding Open Source Contributors</a></em><hr/>",
      "json_metadata": "{\"community\":\"utopian\",\"app\":\"utopian/1.0.0\",\"format\":\"markdown\",\"repository\":{\"id\":114991815,\"name\":\"flatpak-builder-tools\",\"full_name\":\"flatpak/flatpak-builder-tools\",\"owner\":{\"login\":\"flatpak\",\"id\":19473042,\"avatar_url\":\"https://avatars0.githubusercontent.com/u/19473042?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/flatpak\",\"html_url\":\"https://github.com/flatpak\",\"followers_url\":\"https://api.github.com/users/flatpak/followers\",\"following_url\":\"https://api.github.com/users/flatpak/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/flatpak/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/flatpak/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/flatpak/subscriptions\",\"organizations_url\":\"https://api.github.com/users/flatpak/orgs\",\"repos_url\":\"https://api.github.com/users/flatpak/repos\",\"events_url\":\"https://api.github.com/users/flatpak/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/flatpak/received_events\",\"type\":\"Organization\",\"site_admin\":false},\"private\":false,\"html_url\":\"https://github.com/flatpak/flatpak-builder-tools\",\"description\":\"Various helper tools for flatpak-builder\",\"fork\":false,\"url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools\",\"forks_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/forks\",\"keys_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/teams\",\"hooks_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/hooks\",\"issue_events_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/events\",\"assignees_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/tags\",\"blobs_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/languages\",\"stargazers_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/stargazers\",\"contributors_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/contributors\",\"subscribers_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/subscribers\",\"subscription_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/subscription\",\"commits_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/merges\",\"archive_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/downloads\",\"issues_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/deployments\",\"created_at\":\"2017-12-21T10:08:07Z\",\"updated_at\":\"2017-12-31T18:07:12Z\",\"pushed_at\":\"2017-12-31T18:07:38Z\",\"git_url\":\"git://github.com/flatpak/flatpak-builder-tools.git\",\"ssh_url\":\"[email protected]:flatpak/flatpak-builder-tools.git\",\"clone_url\":\"https://github.com/flatpak/flatpak-builder-tools.git\",\"svn_url\":\"https://github.com/flatpak/flatpak-builder-tools\",\"homepage\":null,\"size\":12,\"stargazers_count\":0,\"watchers_count\":0,\"language\":\"Python\",\"has_issues\":true,\"has_projects\":false,\"has_downloads\":true,\"has_wiki\":false,\"has_pages\":false,\"forks_count\":1,\"mirror_url\":null,\"archived\":false,\"open_issues_count\":5,\"license\":null,\"forks\":1,\"open_issues\":5,\"watchers\":0,\"default_branch\":\"master\",\"score\":18.22775},\"pullRequests\":[{\"url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/6\",\"id\":160626966,\"html_url\":\"https://github.com/flatpak/flatpak-builder-tools/pull/6\",\"diff_url\":\"https://github.com/flatpak/flatpak-builder-tools/pull/6.diff\",\"patch_url\":\"https://github.com/flatpak/flatpak-builder-tools/pull/6.patch\",\"issue_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/6\",\"number\":6,\"state\":\"closed\",\"locked\":false,\"title\":\"Add PIP generator\",\"user\":{\"login\":\"TingPing\",\"id\":798838,\"avatar_url\":\"https://avatars0.githubusercontent.com/u/798838?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/TingPing\",\"html_url\":\"https://github.com/TingPing\",\"followers_url\":\"https://api.github.com/users/TingPing/followers\",\"following_url\":\"https://api.github.com/users/TingPing/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/TingPing/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/TingPing/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/TingPing/subscriptions\",\"organizations_url\":\"https://api.github.com/users/TingPing/orgs\",\"repos_url\":\"https://api.github.com/users/TingPing/repos\",\"events_url\":\"https://api.github.com/users/TingPing/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/TingPing/received_events\",\"type\":\"User\",\"site_admin\":false},\"body\":\"Tool to generate a manifest from pip packages.\",\"created_at\":\"2017-12-31T18:04:37Z\",\"updated_at\":\"2017-12-31T18:09:06Z\",\"closed_at\":\"2017-12-31T18:04:49Z\",\"merged_at\":\"2017-12-31T18:04:49Z\",\"merge_commit_sha\":\"21da05c0246aae5752c460ea84ada9148873b00b\",\"assignee\":null,\"assignees\":[],\"requested_reviewers\":[],\"milestone\":null,\"commits_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/6/commits\",\"review_comments_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/6/comments\",\"review_comment_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/comments{/number}\",\"comments_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/6/comments\",\"statuses_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/statuses/71b6ce1d149f7bc88e630208299455b41217d462\",\"head\":{\"label\":\"flatpak:pip\",\"ref\":\"pip\",\"sha\":\"71b6ce1d149f7bc88e630208299455b41217d462\",\"user\":{\"login\":\"flatpak\",\"id\":19473042,\"avatar_url\":\"https://avatars0.githubusercontent.com/u/19473042?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/flatpak\",\"html_url\":\"https://github.com/flatpak\",\"followers_url\":\"https://api.github.com/users/flatpak/followers\",\"following_url\":\"https://api.github.com/users/flatpak/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/flatpak/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/flatpak/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/flatpak/subscriptions\",\"organizations_url\":\"https://api.github.com/users/flatpak/orgs\",\"repos_url\":\"https://api.github.com/users/flatpak/repos\",\"events_url\":\"https://api.github.com/users/flatpak/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/flatpak/received_events\",\"type\":\"Organization\",\"site_admin\":false},\"repo\":{\"id\":114991815,\"name\":\"flatpak-builder-tools\",\"full_name\":\"flatpak/flatpak-builder-tools\",\"owner\":{\"login\":\"flatpak\",\"id\":19473042,\"avatar_url\":\"https://avatars0.githubusercontent.com/u/19473042?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/flatpak\",\"html_url\":\"https://github.com/flatpak\",\"followers_url\":\"https://api.github.com/users/flatpak/followers\",\"following_url\":\"https://api.github.com/users/flatpak/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/flatpak/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/flatpak/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/flatpak/subscriptions\",\"organizations_url\":\"https://api.github.com/users/flatpak/orgs\",\"repos_url\":\"https://api.github.com/users/flatpak/repos\",\"events_url\":\"https://api.github.com/users/flatpak/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/flatpak/received_events\",\"type\":\"Organization\",\"site_admin\":false},\"private\":false,\"html_url\":\"https://github.com/flatpak/flatpak-builder-tools\",\"description\":\"Various helper tools for flatpak-builder\",\"fork\":false,\"url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools\",\"forks_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/forks\",\"keys_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/teams\",\"hooks_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/hooks\",\"issue_events_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/events\",\"assignees_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/tags\",\"blobs_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/languages\",\"stargazers_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/stargazers\",\"contributors_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/contributors\",\"subscribers_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/subscribers\",\"subscription_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/subscription\",\"commits_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/merges\",\"archive_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/downloads\",\"issues_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/deployments\",\"created_at\":\"2017-12-21T10:08:07Z\",\"updated_at\":\"2017-12-31T18:07:12Z\",\"pushed_at\":\"2017-12-31T18:07:38Z\",\"git_url\":\"git://github.com/flatpak/flatpak-builder-tools.git\",\"ssh_url\":\"[email protected]:flatpak/flatpak-builder-tools.git\",\"clone_url\":\"https://github.com/flatpak/flatpak-builder-tools.git\",\"svn_url\":\"https://github.com/flatpak/flatpak-builder-tools\",\"homepage\":null,\"size\":12,\"stargazers_count\":0,\"watchers_count\":0,\"language\":\"Python\",\"has_issues\":true,\"has_projects\":false,\"has_downloads\":true,\"has_wiki\":false,\"has_pages\":false,\"forks_count\":1,\"mirror_url\":null,\"archived\":false,\"open_issues_count\":5,\"license\":null,\"forks\":1,\"open_issues\":5,\"watchers\":0,\"default_branch\":\"master\"}},\"base\":{\"label\":\"flatpak:master\",\"ref\":\"master\",\"sha\":\"21875364f78fc6076e4e98739fa143b2b38ff9a2\",\"user\":{\"login\":\"flatpak\",\"id\":19473042,\"avatar_url\":\"https://avatars0.githubusercontent.com/u/19473042?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/flatpak\",\"html_url\":\"https://github.com/flatpak\",\"followers_url\":\"https://api.github.com/users/flatpak/followers\",\"following_url\":\"https://api.github.com/users/flatpak/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/flatpak/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/flatpak/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/flatpak/subscriptions\",\"organizations_url\":\"https://api.github.com/users/flatpak/orgs\",\"repos_url\":\"https://api.github.com/users/flatpak/repos\",\"events_url\":\"https://api.github.com/users/flatpak/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/flatpak/received_events\",\"type\":\"Organization\",\"site_admin\":false},\"repo\":{\"id\":114991815,\"name\":\"flatpak-builder-tools\",\"full_name\":\"flatpak/flatpak-builder-tools\",\"owner\":{\"login\":\"flatpak\",\"id\":19473042,\"avatar_url\":\"https://avatars0.githubusercontent.com/u/19473042?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/flatpak\",\"html_url\":\"https://github.com/flatpak\",\"followers_url\":\"https://api.github.com/users/flatpak/followers\",\"following_url\":\"https://api.github.com/users/flatpak/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/flatpak/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/flatpak/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/flatpak/subscriptions\",\"organizations_url\":\"https://api.github.com/users/flatpak/orgs\",\"repos_url\":\"https://api.github.com/users/flatpak/repos\",\"events_url\":\"https://api.github.com/users/flatpak/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/flatpak/received_events\",\"type\":\"Organization\",\"site_admin\":false},\"private\":false,\"html_url\":\"https://github.com/flatpak/flatpak-builder-tools\",\"description\":\"Various helper tools for flatpak-builder\",\"fork\":false,\"url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools\",\"forks_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/forks\",\"keys_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/teams\",\"hooks_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/hooks\",\"issue_events_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/events\",\"assignees_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/tags\",\"blobs_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/languages\",\"stargazers_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/stargazers\",\"contributors_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/contributors\",\"subscribers_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/subscribers\",\"subscription_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/subscription\",\"commits_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/merges\",\"archive_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/downloads\",\"issues_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/deployments\",\"created_at\":\"2017-12-21T10:08:07Z\",\"updated_at\":\"2017-12-31T18:07:12Z\",\"pushed_at\":\"2017-12-31T18:07:38Z\",\"git_url\":\"git://github.com/flatpak/flatpak-builder-tools.git\",\"ssh_url\":\"[email protected]:flatpak/flatpak-builder-tools.git\",\"clone_url\":\"https://github.com/flatpak/flatpak-builder-tools.git\",\"svn_url\":\"https://github.com/flatpak/flatpak-builder-tools\",\"homepage\":null,\"size\":12,\"stargazers_count\":0,\"watchers_count\":0,\"language\":\"Python\",\"has_issues\":true,\"has_projects\":false,\"has_downloads\":true,\"has_wiki\":false,\"has_pages\":false,\"forks_count\":1,\"mirror_url\":null,\"archived\":false,\"open_issues_count\":5,\"license\":null,\"forks\":1,\"open_issues\":5,\"watchers\":0,\"default_branch\":\"master\"}},\"_links\":{\"self\":{\"href\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/6\"},\"html\":{\"href\":\"https://github.com/flatpak/flatpak-builder-tools/pull/6\"},\"issue\":{\"href\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/6\"},\"comments\":{\"href\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/issues/6/comments\"},\"review_comments\":{\"href\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/6/comments\"},\"review_comment\":{\"href\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/comments{/number}\"},\"commits\":{\"href\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/pulls/6/commits\"},\"statuses\":{\"href\":\"https://api.github.com/repos/flatpak/flatpak-builder-tools/statuses/71b6ce1d149f7bc88e630208299455b41217d462\"}},\"author_association\":\"MEMBER\"}],\"platform\":\"github\",\"type\":\"development\",\"tags\":[\"utopian-io\",\"flatpak\",\"python\",\"linux\"]}"
    }
  ]
}
2017/12/31 06:14:18
voterfavcau
authortingping
permlinkautomatically-installing-gtk-themes-in-flatpak
weight10000 (100.00%)
Transaction InfoBlock #18560273/Trx 163bdf8ac332c10ad6651ffa8ec8a4004cc617e6
View Raw JSON Data
{
  "trx_id": "163bdf8ac332c10ad6651ffa8ec8a4004cc617e6",
  "block": 18560273,
  "trx_in_block": 21,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-12-31T06:14:18",
  "op": [
    "vote",
    {
      "voter": "favcau",
      "author": "tingping",
      "permlink": "automatically-installing-gtk-themes-in-flatpak",
      "weight": 10000
    }
  ]
}
2017/12/30 17:01:24
voterdailyspot
authortingping
permlinkautomatically-installing-gtk-themes-in-flatpak
weight10000 (100.00%)
Transaction InfoBlock #18544416/Trx 243d5c6f5cf69fce81fb9bb6705df3a4d2dfd73f
View Raw JSON Data
{
  "trx_id": "243d5c6f5cf69fce81fb9bb6705df3a4d2dfd73f",
  "block": 18544416,
  "trx_in_block": 32,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-12-30T17:01:24",
  "op": [
    "vote",
    {
      "voter": "dailyspot",
      "author": "tingping",
      "permlink": "automatically-installing-gtk-themes-in-flatpak",
      "weight": 10000
    }
  ]
}
2017/12/30 16:42:39
parent authortingping
parent permlinkautomatically-installing-gtk-themes-in-flatpak
authorutopian-io
permlinkre-tingping-automatically-installing-gtk-themes-in-flatpak-20171230t164240219z
title
body### Hey @tingping I am @utopian-io. I have just upvoted you! #### Achievements - You have less than 500 followers. Just gave you a gift to help you succeed! - Seems like you contribute quite often. AMAZING! #### Community-Driven Witness! I am the first and only Steem Community-Driven Witness. <a href="https://discord.gg/zTrEMqB">Participate on Discord</a>. Lets GROW TOGETHER! - <a href="https://v2.steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1">Vote for my Witness With SteemConnect</a> - <a href="https://v2.steemconnect.com/sign/account-witness-proxy?proxy=utopian-io&approve=1">Proxy vote to Utopian Witness with SteemConnect</a> - Or vote/proxy on <a href="https://steemit.com/~witnesses">Steemit Witnesses</a> [![mooncryption-utopian-witness-gif](https://steemitimages.com/DQmYPUuQRptAqNBCQRwQjKWAqWU3zJkL3RXVUtEKVury8up/mooncryption-s-utopian-io-witness-gif.gif)](https://steemit.com/~witnesses) **Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x**
json metadata{"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"}
Transaction InfoBlock #18544041/Trx 8c73939195e10926c3e6ceadb4d4e7436ccb40e8
View Raw JSON Data
{
  "trx_id": "8c73939195e10926c3e6ceadb4d4e7436ccb40e8",
  "block": 18544041,
  "trx_in_block": 26,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-12-30T16:42:39",
  "op": [
    "comment",
    {
      "parent_author": "tingping",
      "parent_permlink": "automatically-installing-gtk-themes-in-flatpak",
      "author": "utopian-io",
      "permlink": "re-tingping-automatically-installing-gtk-themes-in-flatpak-20171230t164240219z",
      "title": "",
      "body": "### Hey @tingping I am @utopian-io. I have just upvoted you!\n#### Achievements\n- You have less than 500 followers. Just gave you a gift to help you succeed!\n- Seems like you contribute quite often. AMAZING!\n#### Community-Driven Witness!\nI am the first and only Steem Community-Driven Witness. <a href=\"https://discord.gg/zTrEMqB\">Participate on Discord</a>. Lets GROW TOGETHER!\n- <a href=\"https://v2.steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1\">Vote for my Witness With SteemConnect</a>\n- <a href=\"https://v2.steemconnect.com/sign/account-witness-proxy?proxy=utopian-io&approve=1\">Proxy vote to Utopian Witness with SteemConnect</a>\n- Or vote/proxy on <a href=\"https://steemit.com/~witnesses\">Steemit Witnesses</a>\n\n[![mooncryption-utopian-witness-gif](https://steemitimages.com/DQmYPUuQRptAqNBCQRwQjKWAqWU3zJkL3RXVUtEKVury8up/mooncryption-s-utopian-io-witness-gif.gif)](https://steemit.com/~witnesses)\n\n**Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x**",
      "json_metadata": "{\"tags\":[\"utopian-io\"],\"community\":\"utopian\",\"app\":\"utopian/1.0.0\"}"
    }
  ]
}
2017/12/30 16:42:36
voterutopian-io
authortingping
permlinkautomatically-installing-gtk-themes-in-flatpak
weight495 (4.95%)
Transaction InfoBlock #18544040/Trx 3bdaa8dbf04550784ac7fe1a105d7b84dac1d9fa
View Raw JSON Data
{
  "trx_id": "3bdaa8dbf04550784ac7fe1a105d7b84dac1d9fa",
  "block": 18544040,
  "trx_in_block": 21,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-12-30T16:42:36",
  "op": [
    "vote",
    {
      "voter": "utopian-io",
      "author": "tingping",
      "permlink": "automatically-installing-gtk-themes-in-flatpak",
      "weight": 495
    }
  ]
}
2017/12/30 12:18:09
voteryorkchinese
authortingping
permlinkautomatically-installing-gtk-themes-in-flatpak
weight10000 (100.00%)
Transaction InfoBlock #18538751/Trx 4418f1f53c57caadee9452218d6da6ed907eb29e
View Raw JSON Data
{
  "trx_id": "4418f1f53c57caadee9452218d6da6ed907eb29e",
  "block": 18538751,
  "trx_in_block": 12,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-12-30T12:18:09",
  "op": [
    "vote",
    {
      "voter": "yorkchinese",
      "author": "tingping",
      "permlink": "automatically-installing-gtk-themes-in-flatpak",
      "weight": 10000
    }
  ]
}
2017/12/30 12:16:12
voteryuxid
authortingping
permlinkautomatically-installing-gtk-themes-in-flatpak
weight2500 (25.00%)
Transaction InfoBlock #18538712/Trx 2f0df000f4b231d9b21649d5d6810812dcce7ec6
View Raw JSON Data
{
  "trx_id": "2f0df000f4b231d9b21649d5d6810812dcce7ec6",
  "block": 18538712,
  "trx_in_block": 14,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-12-30T12:16:12",
  "op": [
    "vote",
    {
      "voter": "yuxid",
      "author": "tingping",
      "permlink": "automatically-installing-gtk-themes-in-flatpak",
      "weight": 2500
    }
  ]
}
2017/12/30 12:13:30
parent authortingping
parent permlinkautomatically-installing-gtk-themes-in-flatpak
authordutch
permlinkre-tingping-automatically-installing-gtk-themes-in-flatpak-20171230t121328131z
title
bodyThank you for the contribution. It has been approved. I will accept this work. However, in future if you are submitting very small contributions you should merge 2 or 3 pull requests to submit in the development category. You can contact us on [Discord](https://discord.gg/UCvqCsx). **[[utopian-moderator]](https://utopian.io/moderators)**
json metadata{"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"}
Transaction InfoBlock #18538658/Trx 6916f927808b02c0005b1360c3e4a24904585c2a
View Raw JSON Data
{
  "trx_id": "6916f927808b02c0005b1360c3e4a24904585c2a",
  "block": 18538658,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-12-30T12:13:30",
  "op": [
    "comment",
    {
      "parent_author": "tingping",
      "parent_permlink": "automatically-installing-gtk-themes-in-flatpak",
      "author": "dutch",
      "permlink": "re-tingping-automatically-installing-gtk-themes-in-flatpak-20171230t121328131z",
      "title": "",
      "body": "Thank you for the contribution. It has been approved.\n\nI will accept this work. However, in future if you are submitting very small contributions you should merge 2 or 3 pull requests to submit in the development category.\n\nYou can contact us on [Discord](https://discord.gg/UCvqCsx).\n**[[utopian-moderator]](https://utopian.io/moderators)**",
      "json_metadata": "{\"tags\":[\"utopian-io\"],\"community\":\"utopian\",\"app\":\"utopian/1.0.0\"}"
    }
  ]
}
2017/12/29 23:29:57
parent author
parent permlinkutopian-io
authortingping
permlinkautomatically-installing-gtk-themes-in-flatpak
titleAutomatically installing Gtk themes in Flatpak
body@@ -264,16 +264,27 @@ nabling +extensions if a con
json metadata{"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"score":133.45567,"default_branch":"master","watchers":1181,"open_issues":258,"forks":123,"license":{"url":"https://api.github.com/licenses/lgpl-2.1","spdx_id":"LGPL-2.1","name":"GNU Lesser General Public License v2.1","key":"lgpl-2.1"},"open_issues_count":258,"archived":false,"mirror_url":null,"forks_count":123,"has_pages":true,"has_wiki":true,"has_downloads":true,"has_projects":true,"has_issues":true,"language":"C","watchers_count":1181,"stargazers_count":1181,"size":9833,"homepage":"http://flatpak.org","svn_url":"https://github.com/flatpak/flatpak","clone_url":"https://github.com/flatpak/flatpak.git","ssh_url":"[email protected]:flatpak/flatpak.git","git_url":"git://github.com/flatpak/flatpak.git","pushed_at":"2017-12-28T22:54:23Z","updated_at":"2017-12-29T15:55:20Z","created_at":"2016-05-19T14:19:21Z","deployments_url":"https://api.github.com/repos/flatpak/flatpak/deployments","releases_url":"https://api.github.com/repos/flatpak/flatpak/releases{/id}","labels_url":"https://api.github.com/repos/flatpak/flatpak/labels{/name}","notifications_url":"https://api.github.com/repos/flatpak/flatpak/notifications{?since,all,participating}","milestones_url":"https://api.github.com/repos/flatpak/flatpak/milestones{/number}","pulls_url":"https://api.github.com/repos/flatpak/flatpak/pulls{/number}","issues_url":"https://api.github.com/repos/flatpak/flatpak/issues{/number}","downloads_url":"https://api.github.com/repos/flatpak/flatpak/downloads","archive_url":"https://api.github.com/repos/flatpak/flatpak/{archive_format}{/ref}","merges_url":"https://api.github.com/repos/flatpak/flatpak/merges","compare_url":"https://api.github.com/repos/flatpak/flatpak/compare/{base}...{head}","contents_url":"https://api.github.com/repos/flatpak/flatpak/contents/{+path}","issue_comment_url":"https://api.github.com/repos/flatpak/flatpak/issues/comments{/number}","comments_url":"https://api.github.com/repos/flatpak/flatpak/comments{/number}","git_commits_url":"https://api.github.com/repos/flatpak/flatpak/git/commits{/sha}","commits_url":"https://api.github.com/repos/flatpak/flatpak/commits{/sha}","subscription_url":"https://api.github.com/repos/flatpak/flatpak/subscription","subscribers_url":"https://api.github.com/repos/flatpak/flatpak/subscribers","contributors_url":"https://api.github.com/repos/flatpak/flatpak/contributors","stargazers_url":"https://api.github.com/repos/flatpak/flatpak/stargazers","languages_url":"https://api.github.com/repos/flatpak/flatpak/languages","statuses_url":"https://api.github.com/repos/flatpak/flatpak/statuses/{sha}","trees_url":"https://api.github.com/repos/flatpak/flatpak/git/trees{/sha}","git_refs_url":"https://api.github.com/repos/flatpak/flatpak/git/refs{/sha}","git_tags_url":"https://api.github.com/repos/flatpak/flatpak/git/tags{/sha}","blobs_url":"https://api.github.com/repos/flatpak/flatpak/git/blobs{/sha}","tags_url":"https://api.github.com/repos/flatpak/flatpak/tags","branches_url":"https://api.github.com/repos/flatpak/flatpak/branches{/branch}","assignees_url":"https://api.github.com/repos/flatpak/flatpak/assignees{/user}","events_url":"https://api.github.com/repos/flatpak/flatpak/events","issue_events_url":"https://api.github.com/repos/flatpak/flatpak/issues/events{/number}","hooks_url":"https://api.github.com/repos/flatpak/flatpak/hooks","teams_url":"https://api.github.com/repos/flatpak/flatpak/teams","collaborators_url":"https://api.github.com/repos/flatpak/flatpak/collaborators{/collaborator}","keys_url":"https://api.github.com/repos/flatpak/flatpak/keys{/key_id}","forks_url":"https://api.github.com/repos/flatpak/flatpak/forks","url":"https://api.github.com/repos/flatpak/flatpak","fork":false,"description":"Linux application sandboxing and distribution framework (formerly xdg-app)","html_url":"https://github.com/flatpak/flatpak","private":false,"owner":{"site_admin":false,"type":"Organization","received_events_url":"https://api.github.com/users/flatpak/received_events","events_url":"https://api.github.com/users/flatpak/events{/privacy}","repos_url":"https://api.github.com/users/flatpak/repos","organizations_url":"https://api.github.com/users/flatpak/orgs","subscriptions_url":"https://api.github.com/users/flatpak/subscriptions","starred_url":"https://api.github.com/users/flatpak/starred{/owner}{/repo}","gists_url":"https://api.github.com/users/flatpak/gists{/gist_id}","following_url":"https://api.github.com/users/flatpak/following{/other_user}","followers_url":"https://api.github.com/users/flatpak/followers","html_url":"https://github.com/flatpak","url":"https://api.github.com/users/flatpak","gravatar_id":"","avatar_url":"https://avatars0.githubusercontent.com/u/19473042?v=4","id":19473042,"login":"flatpak"},"full_name":"flatpak/flatpak","name":"flatpak","id":59213200},"pullRequests":[],"platform":"github","type":"development","tags":["utopian-io","linux","flatpak","gtk","gnome"],"users":["tingping"],"links":["https://github.com/flatpak/flatpak/blob/c60b5d7e7c63a12fccb92b7f1fcafc81afde2930/common/flatpak-utils.c#L4238-L4279","https://en.wikipedia.org/wiki/Dconf","https://bugs.kde.org/show_bug.cgi?id=387417","https://specifications.freedesktop.org/xsettings-spec/xsettings-spec-0.5.html"]}
Transaction InfoBlock #18523391/Trx 200e8628313f7f84fce895bb77d18492993943a6
View Raw JSON Data
{
  "trx_id": "200e8628313f7f84fce895bb77d18492993943a6",
  "block": 18523391,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-12-29T23:29:57",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "utopian-io",
      "author": "tingping",
      "permlink": "automatically-installing-gtk-themes-in-flatpak",
      "title": "Automatically installing Gtk themes in Flatpak",
      "body": "@@ -264,16 +264,27 @@\n nabling \n+extensions \n if a con\n",
      "json_metadata": "{\"community\":\"utopian\",\"app\":\"utopian/1.0.0\",\"format\":\"markdown\",\"repository\":{\"score\":133.45567,\"default_branch\":\"master\",\"watchers\":1181,\"open_issues\":258,\"forks\":123,\"license\":{\"url\":\"https://api.github.com/licenses/lgpl-2.1\",\"spdx_id\":\"LGPL-2.1\",\"name\":\"GNU Lesser General Public License v2.1\",\"key\":\"lgpl-2.1\"},\"open_issues_count\":258,\"archived\":false,\"mirror_url\":null,\"forks_count\":123,\"has_pages\":true,\"has_wiki\":true,\"has_downloads\":true,\"has_projects\":true,\"has_issues\":true,\"language\":\"C\",\"watchers_count\":1181,\"stargazers_count\":1181,\"size\":9833,\"homepage\":\"http://flatpak.org\",\"svn_url\":\"https://github.com/flatpak/flatpak\",\"clone_url\":\"https://github.com/flatpak/flatpak.git\",\"ssh_url\":\"[email protected]:flatpak/flatpak.git\",\"git_url\":\"git://github.com/flatpak/flatpak.git\",\"pushed_at\":\"2017-12-28T22:54:23Z\",\"updated_at\":\"2017-12-29T15:55:20Z\",\"created_at\":\"2016-05-19T14:19:21Z\",\"deployments_url\":\"https://api.github.com/repos/flatpak/flatpak/deployments\",\"releases_url\":\"https://api.github.com/repos/flatpak/flatpak/releases{/id}\",\"labels_url\":\"https://api.github.com/repos/flatpak/flatpak/labels{/name}\",\"notifications_url\":\"https://api.github.com/repos/flatpak/flatpak/notifications{?since,all,participating}\",\"milestones_url\":\"https://api.github.com/repos/flatpak/flatpak/milestones{/number}\",\"pulls_url\":\"https://api.github.com/repos/flatpak/flatpak/pulls{/number}\",\"issues_url\":\"https://api.github.com/repos/flatpak/flatpak/issues{/number}\",\"downloads_url\":\"https://api.github.com/repos/flatpak/flatpak/downloads\",\"archive_url\":\"https://api.github.com/repos/flatpak/flatpak/{archive_format}{/ref}\",\"merges_url\":\"https://api.github.com/repos/flatpak/flatpak/merges\",\"compare_url\":\"https://api.github.com/repos/flatpak/flatpak/compare/{base}...{head}\",\"contents_url\":\"https://api.github.com/repos/flatpak/flatpak/contents/{+path}\",\"issue_comment_url\":\"https://api.github.com/repos/flatpak/flatpak/issues/comments{/number}\",\"comments_url\":\"https://api.github.com/repos/flatpak/flatpak/comments{/number}\",\"git_commits_url\":\"https://api.github.com/repos/flatpak/flatpak/git/commits{/sha}\",\"commits_url\":\"https://api.github.com/repos/flatpak/flatpak/commits{/sha}\",\"subscription_url\":\"https://api.github.com/repos/flatpak/flatpak/subscription\",\"subscribers_url\":\"https://api.github.com/repos/flatpak/flatpak/subscribers\",\"contributors_url\":\"https://api.github.com/repos/flatpak/flatpak/contributors\",\"stargazers_url\":\"https://api.github.com/repos/flatpak/flatpak/stargazers\",\"languages_url\":\"https://api.github.com/repos/flatpak/flatpak/languages\",\"statuses_url\":\"https://api.github.com/repos/flatpak/flatpak/statuses/{sha}\",\"trees_url\":\"https://api.github.com/repos/flatpak/flatpak/git/trees{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/flatpak/flatpak/git/refs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/flatpak/flatpak/git/tags{/sha}\",\"blobs_url\":\"https://api.github.com/repos/flatpak/flatpak/git/blobs{/sha}\",\"tags_url\":\"https://api.github.com/repos/flatpak/flatpak/tags\",\"branches_url\":\"https://api.github.com/repos/flatpak/flatpak/branches{/branch}\",\"assignees_url\":\"https://api.github.com/repos/flatpak/flatpak/assignees{/user}\",\"events_url\":\"https://api.github.com/repos/flatpak/flatpak/events\",\"issue_events_url\":\"https://api.github.com/repos/flatpak/flatpak/issues/events{/number}\",\"hooks_url\":\"https://api.github.com/repos/flatpak/flatpak/hooks\",\"teams_url\":\"https://api.github.com/repos/flatpak/flatpak/teams\",\"collaborators_url\":\"https://api.github.com/repos/flatpak/flatpak/collaborators{/collaborator}\",\"keys_url\":\"https://api.github.com/repos/flatpak/flatpak/keys{/key_id}\",\"forks_url\":\"https://api.github.com/repos/flatpak/flatpak/forks\",\"url\":\"https://api.github.com/repos/flatpak/flatpak\",\"fork\":false,\"description\":\"Linux application sandboxing and distribution framework (formerly xdg-app)\",\"html_url\":\"https://github.com/flatpak/flatpak\",\"private\":false,\"owner\":{\"site_admin\":false,\"type\":\"Organization\",\"received_events_url\":\"https://api.github.com/users/flatpak/received_events\",\"events_url\":\"https://api.github.com/users/flatpak/events{/privacy}\",\"repos_url\":\"https://api.github.com/users/flatpak/repos\",\"organizations_url\":\"https://api.github.com/users/flatpak/orgs\",\"subscriptions_url\":\"https://api.github.com/users/flatpak/subscriptions\",\"starred_url\":\"https://api.github.com/users/flatpak/starred{/owner}{/repo}\",\"gists_url\":\"https://api.github.com/users/flatpak/gists{/gist_id}\",\"following_url\":\"https://api.github.com/users/flatpak/following{/other_user}\",\"followers_url\":\"https://api.github.com/users/flatpak/followers\",\"html_url\":\"https://github.com/flatpak\",\"url\":\"https://api.github.com/users/flatpak\",\"gravatar_id\":\"\",\"avatar_url\":\"https://avatars0.githubusercontent.com/u/19473042?v=4\",\"id\":19473042,\"login\":\"flatpak\"},\"full_name\":\"flatpak/flatpak\",\"name\":\"flatpak\",\"id\":59213200},\"pullRequests\":[],\"platform\":\"github\",\"type\":\"development\",\"tags\":[\"utopian-io\",\"linux\",\"flatpak\",\"gtk\",\"gnome\"],\"users\":[\"tingping\"],\"links\":[\"https://github.com/flatpak/flatpak/blob/c60b5d7e7c63a12fccb92b7f1fcafc81afde2930/common/flatpak-utils.c#L4238-L4279\",\"https://en.wikipedia.org/wiki/Dconf\",\"https://bugs.kde.org/show_bug.cgi?id=387417\",\"https://specifications.freedesktop.org/xsettings-spec/xsettings-spec-0.5.html\"]}"
    }
  ]
}
2017/12/29 23:29:15
authortingping
permlinkautomatically-installing-gtk-themes-in-flatpak
max accepted payout1000000.000 SBD
percent steem dollars10000
allow votestrue
allow curation rewardstrue
extensions[[0,{"beneficiaries":[{"account":"utopian.pay","weight":2500}]}]]
Transaction InfoBlock #18523377/Trx 82a9cb3d90abe559886b5527b725c66ee6a4c7cc
View Raw JSON Data
{
  "trx_id": "82a9cb3d90abe559886b5527b725c66ee6a4c7cc",
  "block": 18523377,
  "trx_in_block": 34,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-12-29T23:29:15",
  "op": [
    "comment_options",
    {
      "author": "tingping",
      "permlink": "automatically-installing-gtk-themes-in-flatpak",
      "max_accepted_payout": "1000000.000 SBD",
      "percent_steem_dollars": 10000,
      "allow_votes": true,
      "allow_curation_rewards": true,
      "extensions": [
        [
          0,
          {
            "beneficiaries": [
              {
                "account": "utopian.pay",
                "weight": 2500
              }
            ]
          }
        ]
      ]
    }
  ]
}
2017/12/29 23:29:15
parent author
parent permlinkutopian-io
authortingping
permlinkautomatically-installing-gtk-themes-in-flatpak
titleAutomatically installing Gtk themes in Flatpak
bodyIn order for Flatpak'd applications to integrate with the system they require having themes installed but sadly this has always been a manual process. Thankfully Flatpak has a feature for basic conditional statements in runtimes for automatically downloading or enabling if a condition is met. These conditions are [defined within flatpak itself](https://github.com/flatpak/flatpak/blob/c60b5d7e7c63a12fccb92b7f1fcafc81afde2930/common/flatpak-utils.c#L4238-L4279) so I added `active-gtk-theme`. This condition currently pulls from [DConf](https://en.wikipedia.org/wiki/Dconf) looking up the `gtk-theme` key in the `org.gnome.desktop.interface` schema which is set automatically by GNOME and thanks to [a recent addition](https://bugs.kde.org/show_bug.cgi?id=387417) KDE. On other platforms it would be necessary to pull the information from [XSettings](https://specifications.freedesktop.org/xsettings-spec/xsettings-spec-0.5.html) but that is sadly a non-trivial protocol and would likely mean a dependency on xlib which is not desired so has not been implemented at this time. Once the condition is met at `update` or `install` time `flatpak` will automatically install matching extensions. Merge request: https://github.com/flatpak/flatpak/pull/1181 and https://github.com/flatpak/freedesktop-sdk-images/pull/60 <br /><hr/><em>Posted on <a href="https://utopian.io/utopian-io/@tingping/automatically-installing-gtk-themes-in-flatpak">Utopian.io - Rewarding Open Source Contributors</a></em><hr/>
json metadata{"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"id":59213200,"name":"flatpak","full_name":"flatpak/flatpak","owner":{"login":"flatpak","id":19473042,"avatar_url":"https://avatars0.githubusercontent.com/u/19473042?v=4","gravatar_id":"","url":"https://api.github.com/users/flatpak","html_url":"https://github.com/flatpak","followers_url":"https://api.github.com/users/flatpak/followers","following_url":"https://api.github.com/users/flatpak/following{/other_user}","gists_url":"https://api.github.com/users/flatpak/gists{/gist_id}","starred_url":"https://api.github.com/users/flatpak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flatpak/subscriptions","organizations_url":"https://api.github.com/users/flatpak/orgs","repos_url":"https://api.github.com/users/flatpak/repos","events_url":"https://api.github.com/users/flatpak/events{/privacy}","received_events_url":"https://api.github.com/users/flatpak/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/flatpak/flatpak","description":"Linux application sandboxing and distribution framework (formerly xdg-app)","fork":false,"url":"https://api.github.com/repos/flatpak/flatpak","forks_url":"https://api.github.com/repos/flatpak/flatpak/forks","keys_url":"https://api.github.com/repos/flatpak/flatpak/keys{/key_id}","collaborators_url":"https://api.github.com/repos/flatpak/flatpak/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/flatpak/flatpak/teams","hooks_url":"https://api.github.com/repos/flatpak/flatpak/hooks","issue_events_url":"https://api.github.com/repos/flatpak/flatpak/issues/events{/number}","events_url":"https://api.github.com/repos/flatpak/flatpak/events","assignees_url":"https://api.github.com/repos/flatpak/flatpak/assignees{/user}","branches_url":"https://api.github.com/repos/flatpak/flatpak/branches{/branch}","tags_url":"https://api.github.com/repos/flatpak/flatpak/tags","blobs_url":"https://api.github.com/repos/flatpak/flatpak/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/flatpak/flatpak/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/flatpak/flatpak/git/refs{/sha}","trees_url":"https://api.github.com/repos/flatpak/flatpak/git/trees{/sha}","statuses_url":"https://api.github.com/repos/flatpak/flatpak/statuses/{sha}","languages_url":"https://api.github.com/repos/flatpak/flatpak/languages","stargazers_url":"https://api.github.com/repos/flatpak/flatpak/stargazers","contributors_url":"https://api.github.com/repos/flatpak/flatpak/contributors","subscribers_url":"https://api.github.com/repos/flatpak/flatpak/subscribers","subscription_url":"https://api.github.com/repos/flatpak/flatpak/subscription","commits_url":"https://api.github.com/repos/flatpak/flatpak/commits{/sha}","git_commits_url":"https://api.github.com/repos/flatpak/flatpak/git/commits{/sha}","comments_url":"https://api.github.com/repos/flatpak/flatpak/comments{/number}","issue_comment_url":"https://api.github.com/repos/flatpak/flatpak/issues/comments{/number}","contents_url":"https://api.github.com/repos/flatpak/flatpak/contents/{+path}","compare_url":"https://api.github.com/repos/flatpak/flatpak/compare/{base}...{head}","merges_url":"https://api.github.com/repos/flatpak/flatpak/merges","archive_url":"https://api.github.com/repos/flatpak/flatpak/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/flatpak/flatpak/downloads","issues_url":"https://api.github.com/repos/flatpak/flatpak/issues{/number}","pulls_url":"https://api.github.com/repos/flatpak/flatpak/pulls{/number}","milestones_url":"https://api.github.com/repos/flatpak/flatpak/milestones{/number}","notifications_url":"https://api.github.com/repos/flatpak/flatpak/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/flatpak/flatpak/labels{/name}","releases_url":"https://api.github.com/repos/flatpak/flatpak/releases{/id}","deployments_url":"https://api.github.com/repos/flatpak/flatpak/deployments","created_at":"2016-05-19T14:19:21Z","updated_at":"2017-12-29T15:55:20Z","pushed_at":"2017-12-28T22:54:23Z","git_url":"git://github.com/flatpak/flatpak.git","ssh_url":"[email protected]:flatpak/flatpak.git","clone_url":"https://github.com/flatpak/flatpak.git","svn_url":"https://github.com/flatpak/flatpak","homepage":"http://flatpak.org","size":9833,"stargazers_count":1181,"watchers_count":1181,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":123,"mirror_url":null,"archived":false,"open_issues_count":258,"license":{"key":"lgpl-2.1","name":"GNU Lesser General Public License v2.1","spdx_id":"LGPL-2.1","url":"https://api.github.com/licenses/lgpl-2.1"},"forks":123,"open_issues":258,"watchers":1181,"default_branch":"master","score":133.45567},"pullRequests":[],"platform":"github","type":"development","tags":["utopian-io","linux","flatpak","gtk","gnome"],"links":["https://github.com/flatpak/flatpak/blob/c60b5d7e7c63a12fccb92b7f1fcafc81afde2930/common/flatpak-utils.c#L4238-L4279","https://en.wikipedia.org/wiki/Dconf","https://bugs.kde.org/show_bug.cgi?id=387417","https://specifications.freedesktop.org/xsettings-spec/xsettings-spec-0.5.html"]}
Transaction InfoBlock #18523377/Trx 82a9cb3d90abe559886b5527b725c66ee6a4c7cc
View Raw JSON Data
{
  "trx_id": "82a9cb3d90abe559886b5527b725c66ee6a4c7cc",
  "block": 18523377,
  "trx_in_block": 34,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-12-29T23:29:15",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "utopian-io",
      "author": "tingping",
      "permlink": "automatically-installing-gtk-themes-in-flatpak",
      "title": "Automatically installing Gtk themes in Flatpak",
      "body": "In order for Flatpak'd applications to integrate with the system they require having themes installed but sadly this has always been a manual process. Thankfully Flatpak has a feature for basic conditional statements in runtimes for automatically downloading or enabling if a condition is met. These conditions are [defined within flatpak itself](https://github.com/flatpak/flatpak/blob/c60b5d7e7c63a12fccb92b7f1fcafc81afde2930/common/flatpak-utils.c#L4238-L4279) so I added `active-gtk-theme`.\n\nThis condition currently pulls from [DConf](https://en.wikipedia.org/wiki/Dconf) looking up the `gtk-theme` key in the `org.gnome.desktop.interface` schema which is set automatically by GNOME and thanks to [a recent addition](https://bugs.kde.org/show_bug.cgi?id=387417) KDE.\n\nOn other platforms it would be necessary to pull the information from [XSettings](https://specifications.freedesktop.org/xsettings-spec/xsettings-spec-0.5.html) but that is sadly a non-trivial protocol and would likely mean a dependency on xlib which is not desired so has not been implemented at this time.\n\nOnce the condition is met at `update` or `install` time `flatpak` will automatically install matching extensions.\n\nMerge request: https://github.com/flatpak/flatpak/pull/1181 and \n https://github.com/flatpak/freedesktop-sdk-images/pull/60\n\n<br /><hr/><em>Posted on <a href=\"https://utopian.io/utopian-io/@tingping/automatically-installing-gtk-themes-in-flatpak\">Utopian.io -  Rewarding Open Source Contributors</a></em><hr/>",
      "json_metadata": "{\"community\":\"utopian\",\"app\":\"utopian/1.0.0\",\"format\":\"markdown\",\"repository\":{\"id\":59213200,\"name\":\"flatpak\",\"full_name\":\"flatpak/flatpak\",\"owner\":{\"login\":\"flatpak\",\"id\":19473042,\"avatar_url\":\"https://avatars0.githubusercontent.com/u/19473042?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/flatpak\",\"html_url\":\"https://github.com/flatpak\",\"followers_url\":\"https://api.github.com/users/flatpak/followers\",\"following_url\":\"https://api.github.com/users/flatpak/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/flatpak/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/flatpak/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/flatpak/subscriptions\",\"organizations_url\":\"https://api.github.com/users/flatpak/orgs\",\"repos_url\":\"https://api.github.com/users/flatpak/repos\",\"events_url\":\"https://api.github.com/users/flatpak/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/flatpak/received_events\",\"type\":\"Organization\",\"site_admin\":false},\"private\":false,\"html_url\":\"https://github.com/flatpak/flatpak\",\"description\":\"Linux application sandboxing and distribution framework (formerly xdg-app)\",\"fork\":false,\"url\":\"https://api.github.com/repos/flatpak/flatpak\",\"forks_url\":\"https://api.github.com/repos/flatpak/flatpak/forks\",\"keys_url\":\"https://api.github.com/repos/flatpak/flatpak/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/flatpak/flatpak/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/flatpak/flatpak/teams\",\"hooks_url\":\"https://api.github.com/repos/flatpak/flatpak/hooks\",\"issue_events_url\":\"https://api.github.com/repos/flatpak/flatpak/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/flatpak/flatpak/events\",\"assignees_url\":\"https://api.github.com/repos/flatpak/flatpak/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/flatpak/flatpak/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/flatpak/flatpak/tags\",\"blobs_url\":\"https://api.github.com/repos/flatpak/flatpak/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/flatpak/flatpak/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/flatpak/flatpak/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/flatpak/flatpak/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/flatpak/flatpak/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/flatpak/flatpak/languages\",\"stargazers_url\":\"https://api.github.com/repos/flatpak/flatpak/stargazers\",\"contributors_url\":\"https://api.github.com/repos/flatpak/flatpak/contributors\",\"subscribers_url\":\"https://api.github.com/repos/flatpak/flatpak/subscribers\",\"subscription_url\":\"https://api.github.com/repos/flatpak/flatpak/subscription\",\"commits_url\":\"https://api.github.com/repos/flatpak/flatpak/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/flatpak/flatpak/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/flatpak/flatpak/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/flatpak/flatpak/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/flatpak/flatpak/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/flatpak/flatpak/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/flatpak/flatpak/merges\",\"archive_url\":\"https://api.github.com/repos/flatpak/flatpak/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/flatpak/flatpak/downloads\",\"issues_url\":\"https://api.github.com/repos/flatpak/flatpak/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/flatpak/flatpak/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/flatpak/flatpak/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/flatpak/flatpak/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/flatpak/flatpak/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/flatpak/flatpak/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/flatpak/flatpak/deployments\",\"created_at\":\"2016-05-19T14:19:21Z\",\"updated_at\":\"2017-12-29T15:55:20Z\",\"pushed_at\":\"2017-12-28T22:54:23Z\",\"git_url\":\"git://github.com/flatpak/flatpak.git\",\"ssh_url\":\"[email protected]:flatpak/flatpak.git\",\"clone_url\":\"https://github.com/flatpak/flatpak.git\",\"svn_url\":\"https://github.com/flatpak/flatpak\",\"homepage\":\"http://flatpak.org\",\"size\":9833,\"stargazers_count\":1181,\"watchers_count\":1181,\"language\":\"C\",\"has_issues\":true,\"has_projects\":true,\"has_downloads\":true,\"has_wiki\":true,\"has_pages\":true,\"forks_count\":123,\"mirror_url\":null,\"archived\":false,\"open_issues_count\":258,\"license\":{\"key\":\"lgpl-2.1\",\"name\":\"GNU Lesser General Public License v2.1\",\"spdx_id\":\"LGPL-2.1\",\"url\":\"https://api.github.com/licenses/lgpl-2.1\"},\"forks\":123,\"open_issues\":258,\"watchers\":1181,\"default_branch\":\"master\",\"score\":133.45567},\"pullRequests\":[],\"platform\":\"github\",\"type\":\"development\",\"tags\":[\"utopian-io\",\"linux\",\"flatpak\",\"gtk\",\"gnome\"],\"links\":[\"https://github.com/flatpak/flatpak/blob/c60b5d7e7c63a12fccb92b7f1fcafc81afde2930/common/flatpak-utils.c#L4238-L4279\",\"https://en.wikipedia.org/wiki/Dconf\",\"https://bugs.kde.org/show_bug.cgi?id=387417\",\"https://specifications.freedesktop.org/xsettings-spec/xsettings-spec-0.5.html\"]}"
    }
  ]
}
2017/12/29 09:14:36
parent authortingping
parent permlinkadding-search-to-the-flatpak-cli
authorutopian-io
permlinkre-tingping-adding-search-to-the-flatpak-cli-20171229t091436519z
title
body### Hey @tingping I am @utopian-io. I have just upvoted you! #### Achievements - You have less than 500 followers. Just gave you a gift to help you succeed! - Seems like you contribute quite often. AMAZING! #### Community-Driven Witness! I am the first and only Steem Community-Driven Witness. <a href="https://discord.gg/zTrEMqB">Participate on Discord</a>. Lets GROW TOGETHER! - <a href="https://v2.steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1">Vote for my Witness With SteemConnect</a> - <a href="https://v2.steemconnect.com/sign/account-witness-proxy?proxy=utopian-io&approve=1">Proxy vote to Utopian Witness with SteemConnect</a> - Or vote/proxy on <a href="https://steemit.com/~witnesses">Steemit Witnesses</a> [![mooncryption-utopian-witness-gif](https://steemitimages.com/DQmYPUuQRptAqNBCQRwQjKWAqWU3zJkL3RXVUtEKVury8up/mooncryption-s-utopian-io-witness-gif.gif)](https://steemit.com/~witnesses) **Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x**
json metadata{"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"}
Transaction InfoBlock #18506286/Trx 43d1dd961a848d246922c46cbdd554242d89b609
View Raw JSON Data
{
  "trx_id": "43d1dd961a848d246922c46cbdd554242d89b609",
  "block": 18506286,
  "trx_in_block": 18,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-12-29T09:14:36",
  "op": [
    "comment",
    {
      "parent_author": "tingping",
      "parent_permlink": "adding-search-to-the-flatpak-cli",
      "author": "utopian-io",
      "permlink": "re-tingping-adding-search-to-the-flatpak-cli-20171229t091436519z",
      "title": "",
      "body": "### Hey @tingping I am @utopian-io. I have just upvoted you!\n#### Achievements\n- You have less than 500 followers. Just gave you a gift to help you succeed!\n- Seems like you contribute quite often. AMAZING!\n#### Community-Driven Witness!\nI am the first and only Steem Community-Driven Witness. <a href=\"https://discord.gg/zTrEMqB\">Participate on Discord</a>. Lets GROW TOGETHER!\n- <a href=\"https://v2.steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1\">Vote for my Witness With SteemConnect</a>\n- <a href=\"https://v2.steemconnect.com/sign/account-witness-proxy?proxy=utopian-io&approve=1\">Proxy vote to Utopian Witness with SteemConnect</a>\n- Or vote/proxy on <a href=\"https://steemit.com/~witnesses\">Steemit Witnesses</a>\n\n[![mooncryption-utopian-witness-gif](https://steemitimages.com/DQmYPUuQRptAqNBCQRwQjKWAqWU3zJkL3RXVUtEKVury8up/mooncryption-s-utopian-io-witness-gif.gif)](https://steemit.com/~witnesses)\n\n**Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x**",
      "json_metadata": "{\"tags\":[\"utopian-io\"],\"community\":\"utopian\",\"app\":\"utopian/1.0.0\"}"
    }
  ]
}
2017/12/29 09:14:33
voterutopian-io
authortingping
permlinkadding-search-to-the-flatpak-cli
weight496 (4.96%)
Transaction InfoBlock #18506285/Trx 2a9886776e16a7ff04b6a87f4671eecca5aab83f
View Raw JSON Data
{
  "trx_id": "2a9886776e16a7ff04b6a87f4671eecca5aab83f",
  "block": 18506285,
  "trx_in_block": 38,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-12-29T09:14:33",
  "op": [
    "vote",
    {
      "voter": "utopian-io",
      "author": "tingping",
      "permlink": "adding-search-to-the-flatpak-cli",
      "weight": 496
    }
  ]
}

Account Metadata

POSTING JSON METADATA
None
JSON METADATA
None
{
  "posting_json_metadata": {},
  "json_metadata": {}
}

Auth Keys

Owner
Single Signature
Public Keys
STM8TqqKkDjD6Dx9GAqg1bgU5EBFd9UbHDtbo7XiPQDY7tKNb6Jrj1/1
Active
Single Signature
Public Keys
STM5vDMcJ3B5jaCiP3q3MZePgDttcfYf7d4yWXtkpBd9Bbfc7YDfZ1/1
Posting
Single Signature
Public Keys
STM63siVf8dPX4Aa2cqtx85ed2vY8TeDh7gs5q3Y4iatpxbcvu28z1/1
App Permissions
Memo
STM5KrfghbjQSHbEbJMfhKryJk4k66GKueJUidCwcigF1YZWfid4d
{
  "owner": {
    "account_auths": [],
    "key_auths": [
      [
        "STM8TqqKkDjD6Dx9GAqg1bgU5EBFd9UbHDtbo7XiPQDY7tKNb6Jrj",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "active": {
    "account_auths": [],
    "key_auths": [
      [
        "STM5vDMcJ3B5jaCiP3q3MZePgDttcfYf7d4yWXtkpBd9Bbfc7YDfZ",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "posting": {
    "account_auths": [
      [
        "dtube.app",
        1
      ],
      [
        "utopian.app",
        1
      ]
    ],
    "key_auths": [
      [
        "STM63siVf8dPX4Aa2cqtx85ed2vY8TeDh7gs5q3Y4iatpxbcvu28z",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "memo": "STM5KrfghbjQSHbEbJMfhKryJk4k66GKueJUidCwcigF1YZWfid4d"
}

Witness Votes

0 / 30
No active witness votes.
[]